WordPress.org

Make WordPress Core

Ticket #49147: 49147.3.diff

File 49147.3.diff, 1.6 KB (added by johnwatkins0, 22 months ago)

Adds unit test for the change attached earlier

  • src/wp-includes/rest-api/class-wp-rest-server.php

    diff --git a/src/wp-includes/rest-api/class-wp-rest-server.php b/src/wp-includes/rest-api/class-wp-rest-server.php
    index efda2321b7..12de6c55f0 100644
    a b class WP_REST_Server { 
    12881288                        // For non-variable routes, generate links.
    12891289                        if ( strpos( $route, '{' ) === false ) {
    12901290                                $data['_links'] = array(
    1291                                         'self' => rest_url( $route ),
     1291                                        'self' => array(
     1292                                                array(
     1293                                                        'href' => rest_url( $route ),
     1294                                                ),
     1295                                        ),
    12921296                                );
    12931297                        }
    12941298                }
  • tests/phpunit/tests/rest-api/rest-server.php

    diff --git a/tests/phpunit/tests/rest-api/rest-server.php b/tests/phpunit/tests/rest-api/rest-server.php
    index 755f0296ea..42e6cf9e55 100644
    a b class Tests_REST_Server extends WP_Test_REST_TestCase { 
    10201020                $this->assertContains( 'test/another', $namespaces );
    10211021        }
    10221022
     1023        public function test_links_array_in_non_variable_routes() {
     1024                $this->set_permalink_structure( '/%postname%' );
     1025
     1026                $server = new WP_REST_Server();
     1027
     1028                $links = array(
     1029                        'self' => array(
     1030                                array( 'href' => 'http://example.org/wp-json/wp/v2/posts' ),
     1031                        ),
     1032                );
     1033
     1034                $result = $server->get_data_for_route(
     1035                        '/wp/v2/posts',
     1036                        array(
     1037                                array(
     1038                                        'methods'       => [ 'GET' => 1 ],
     1039                                        'show_in_index' => true,
     1040                                ),
     1041                        )
     1042                );
     1043
     1044                $this->assertEquals(
     1045                        $result['_links'],
     1046                        $links
     1047                );
     1048        }
     1049
    10231050        public function test_x_robot_tag_header_on_requests() {
    10241051                $request = new WP_REST_Request( 'GET', '/', array() );
    10251052