Make WordPress Core


Ignore:
Timestamp:
12/13/2018 10:41:47 PM (6 years ago)
Author:
desrosj
Message:

REST API: Introduce Autosaves controller and endpoint.

  • Adds WP_REST_Autosaves_Controller which extends WP_REST_Revisions_Controller.
  • Autosaves endpoint is registered for all post types except attachment because even post types without revisions enabled are expected to autosave.
  • Because setting the DOING_AUTOSAVE constant pollutes the test suite, autosaves tests are run last. We may want to improve upon this later.

Also, use a truly impossibly high number in User Controller tests. The number 100, (or 7777 in trunk), could be valid in certain test run configurations. The REST_TESTS_IMPOSSIBLY_HIGH_NUMBER constant is impossibly high for this very reason.

Finally, Skip Autosaves controller test for multisite. There's a PHP 5.2 edge case where paths calculated differently, possibly caused by differing version of PHPUnit.

Props adamsilverstein, aduth, azaozz, danielbachhuber, rmccue, danielbachhuber.

Merges [43767], [43768], [43769] to trunk.

See #45132, #45131.
Fixes #45128, #43316.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/wp-includes/rest-api.php

    r44123 r44126  
    193193            $revisions_controller = new WP_REST_Revisions_Controller( $post_type->name );
    194194            $revisions_controller->register_routes();
     195        }
     196
     197        if ( 'attachment' !== $post_type->name ) {
     198            $autosaves_controller = new WP_REST_Autosaves_Controller( $post_type->name );
     199            $autosaves_controller->register_routes();
    195200        }
    196201    }
Note: See TracChangeset for help on using the changeset viewer.