Skip to content

Commit

Permalink
REST API: Introduce Autosaves controller and endpoint.
Browse files Browse the repository at this point in the history
- 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@44126 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
desrosj committed Dec 13, 2018
1 parent 8c5f87d commit 225f191
Show file tree
Hide file tree
Showing 9 changed files with 1,531 additions and 9 deletions.
7 changes: 6 additions & 1 deletion phpunit.xml.dist
Expand Up @@ -6,19 +6,24 @@
>
<testsuites>
<!-- Default test suite to run all tests -->
<testsuite>
<testsuite name="default">
<directory suffix=".php">tests/phpunit/tests</directory>
<exclude>tests/phpunit/tests/actions/closures.php</exclude>
<exclude>tests/phpunit/tests/image/editor.php</exclude>
<exclude>tests/phpunit/tests/image/editorGd.php</exclude>
<exclude>tests/phpunit/tests/image/editorImagick.php</exclude>
<exclude>tests/phpunit/tests/oembed/headers.php</exclude>
<exclude>tests/phpunit/tests/rest-api/rest-autosaves-controller.php</exclude>
<file phpVersion="5.3.0">tests/phpunit/tests/actions/closures.php</file>
<file phpVersion="5.3.0">tests/phpunit/tests/image/editor.php</file>
<file phpVersion="5.3.0">tests/phpunit/tests/image/editorGd.php</file>
<file phpVersion="5.3.0">tests/phpunit/tests/image/editorImagick.php</file>
<file phpVersion="5.3.0">tests/phpunit/tests/oembed/headers.php</file>
</testsuite>
<!-- Sets the DOING_AUTOSAVE constant, so needs to be run last -->
<testsuite name="restapi-autosave">
<file>tests/phpunit/tests/rest-api/rest-autosaves-controller.php</file>
</testsuite>
</testsuites>
<groups>
<exclude>
Expand Down
5 changes: 5 additions & 0 deletions src/wp-includes/rest-api.php
Expand Up @@ -193,6 +193,11 @@ function create_initial_rest_routes() {
$revisions_controller = new WP_REST_Revisions_Controller( $post_type->name );
$revisions_controller->register_routes();
}

if ( 'attachment' !== $post_type->name ) {
$autosaves_controller = new WP_REST_Autosaves_Controller( $post_type->name );
$autosaves_controller->register_routes();
}
}

// Post types.
Expand Down

0 comments on commit 225f191

Please sign in to comment.