Make WordPress Core


Ignore:
Timestamp:
06/07/2021 11:16:29 AM (3 years ago)
Author:
SergeyBiryukov
Message:

Tests: Use assertSame() in some newly introduced tests.

This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using assertSame() should generally be preferred to assertEquals() where appropriate, to make the tests more reliable.

Follow-up to [50380], [50959], [50960], [50973], [50993], [51003], [51051], [51054].

See #52482.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/rest-api/rest-widgets-controller.php

    r51059 r51079  
    212212        $data     = $response->get_data();
    213213
    214         $this->assertEquals( array(), $data );
     214        $this->assertSame( array(), $data );
    215215    }
    216216
     
    277277                array(
    278278                    'id'       => 'block-1',
     279                    'id_base'  => 'block',
    279280                    'sidebar'  => 'sidebar-1',
    280281                    'instance' => array(
     
    297298                        ),
    298299                    ),
    299                     'id_base'  => 'block',
    300300                    'rendered' => '<p>Block test</p>',
    301301                ),
    302302                array(
    303303                    'id'       => 'rss-1',
     304                    'id_base'  => 'rss',
    304305                    'sidebar'  => 'sidebar-1',
    305306                    'instance' => array(
     
    321322                        ),
    322323                    ),
    323                     'id_base'  => 'rss',
    324324                    'rendered' => '<a class="rsswidget" href="https://wordpress.org/news/feed"><img class="rss-widget-icon" style="border:0" width="14" height="14" src="http://example.org/wp-includes/images/rss.png" alt="RSS" /></a> <a class="rsswidget" href="https://wordpress.org/news">RSS test</a><ul><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/12/introducing-learn-wordpress/\'>Introducing Learn WordPress</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/12/simone/\'>WordPress 5.6 “Simone”</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/12/state-of-the-word-2020/\'>State of the Word 2020</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/12/the-month-in-wordpress-november-2020/\'>The Month in WordPress: November 2020</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/12/wordpress-5-6-release-candidate-2/\'>WordPress 5.6 Release Candidate 2</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/11/wordpress-5-6-release-candidate/\'>WordPress 5.6 Release Candidate</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/11/wordpress-5-6-beta-4/\'>WordPress 5.6 Beta 4</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/11/wordpress-5-6-beta-3/\'>WordPress 5.6 Beta 3</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/11/the-month-in-wordpress-october-2020/\'>The Month in WordPress: October 2020</a></li><li><a class=\'rsswidget\' href=\'https://wordpress.org/news/2020/10/wordpress-5-5-3-maintenance-release/\'>WordPress 5.5.3 Maintenance Release</a></li></ul>',
    325325                ),
    326326                array(
    327327                    'id'       => 'testwidget',
     328                    'id_base'  => 'testwidget',
    328329                    'sidebar'  => 'sidebar-1',
    329330                    'instance' => null,
    330                     'id_base'  => 'testwidget',
    331331                    'rendered' => '<h1>Default id</h1><span>Default text</span>',
    332332                ),
     
    386386                array(
    387387                    'id'            => 'text-1',
     388                    'id_base'       => 'text',
    388389                    'sidebar'       => 'sidebar-1',
    389390                    'instance'      => array(
     
    406407                        ),
    407408                    ),
    408                     'id_base'       => 'text',
    409409                    'rendered'      => '<div class="textwidget">Custom text test</div>',
    410410                    'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
     
    415415                array(
    416416                    'id'            => 'testwidget',
     417                    'id_base'       => 'testwidget',
    417418                    'sidebar'       => 'sidebar-1',
    418                     'instance'      => null,
    419                     'id_base'       => 'testwidget',
    420419                    'rendered'      => '<h1>Default id</h1><span>Default text</span>',
    421420                    'rendered_form' => 'WP test widget form',
     421                    'instance'      => null,
    422422                ),
    423423            ),
     
    451451            array(
    452452                'id'       => 'text-1',
     453                'id_base'  => 'text',
    453454                'sidebar'  => 'sidebar-1',
    454455                'instance' => array(
     
    471472                    ),
    472473                ),
    473                 'id_base'  => 'text',
    474474                'rendered' => '<div class="textwidget">Custom text test</div>',
    475475            ),
     
    542542        $request->set_body_params(
    543543            array(
     544                'id_base'  => 'text',
    544545                'sidebar'  => 'sidebar-1',
    545546                'instance' => array(
     
    559560                    ),
    560561                ),
    561                 'id_base'  => 'text',
    562562            )
    563563        );
    564564        $response = rest_get_server()->dispatch( $request );
    565565        $data     = $response->get_data();
    566         $this->assertEquals( 'text-2', $data['id'] );
    567         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     566        $this->assertSame( 'text-2', $data['id'] );
     567        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    568568        $this->assertEqualSets(
    569569            array(
     
    590590        $request->set_body_params(
    591591            array(
     592                'id_base'  => 'text',
    592593                'sidebar'  => 'sidebar-1',
    593594                'instance' => array(
     
    601602                    'hash'    => 'badhash',
    602603                ),
     604            )
     605        );
     606        $response = rest_get_server()->dispatch( $request );
     607        $this->assertErrorResponse( 'rest_invalid_widget', $response, 400 );
     608    }
     609
     610    /**
     611     * @ticket 41683
     612     */
     613    public function test_create_item_bad_instance() {
     614        $this->setup_sidebar(
     615            'sidebar-1',
     616            array(
     617                'name' => 'Test sidebar',
     618            )
     619        );
     620
     621        $request = new WP_REST_Request( 'POST', '/wp/v2/widgets' );
     622        $request->set_body_params(
     623            array(
    603624                'id_base'  => 'text',
    604             )
    605         );
    606         $response = rest_get_server()->dispatch( $request );
    607         $this->assertErrorResponse( 'rest_invalid_widget', $response, 400 );
    608     }
    609 
    610     /**
    611      * @ticket 41683
    612      */
    613     public function test_create_item_bad_instance() {
    614         $this->setup_sidebar(
    615             'sidebar-1',
    616             array(
    617                 'name' => 'Test sidebar',
    618             )
    619         );
    620 
    621         $request = new WP_REST_Request( 'POST', '/wp/v2/widgets' );
    622         $request->set_body_params(
    623             array(
    624625                'sidebar'  => 'sidebar-1',
    625626                'instance' => array(),
    626                 'id_base'  => 'text',
    627627            )
    628628        );
     
    645645        $request->set_body_params(
    646646            array(
     647                'id_base'  => 'block',
    647648                'sidebar'  => 'sidebar-1',
    648649                'instance' => array(
     
    651652                    ),
    652653                ),
    653                 'id_base'  => 'block',
    654654            )
    655655        );
    656656        $response = rest_get_server()->dispatch( $request );
    657657        $data     = $response->get_data();
    658         $this->assertEquals( 'block-2', $data['id'] );
    659         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     658        $this->assertSame( 'block-2', $data['id'] );
     659        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    660660        $this->assertEqualSets(
    661661            array(
     
    684684        $request->set_body_params(
    685685            array(
     686                'id_base'  => 'text',
    686687                'sidebar'  => 'sidebar-1',
    687688                'instance' => array(
     
    690691                    ),
    691692                ),
    692                 'id_base'  => 'text',
    693693            )
    694694        );
     
    713713        $request->set_body_params(
    714714            array(
     715                'id_base'   => 'text',
    715716                'sidebar'   => 'sidebar-1',
    716717                'form_data' => 'widget-text[2][text]=Updated+text+test',
    717                 'id_base'   => 'text',
    718718            )
    719719        );
    720720        $response = rest_get_server()->dispatch( $request );
    721721        $data     = $response->get_data();
    722         $this->assertEquals( 'text-2', $data['id'] );
    723         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     722        $this->assertSame( 'text-2', $data['id'] );
     723        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    724724        $this->assertEqualSets(
    725725            array(
     
    746746        $request->set_body_params(
    747747            array(
     748                'id_base'  => 'text',
    748749                'sidebar'  => 'sidebar-1',
    749750                'instance' => array(
    750751                    'raw' => array( 'text' => 'Text 1' ),
    751752                ),
    752                 'id_base'  => 'text',
    753753            )
    754754        );
    755755        $response = rest_get_server()->dispatch( $request );
    756756        $data     = $response->get_data();
    757         $this->assertEquals( 'text-2', $data['id'] );
    758         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     757        $this->assertSame( 'text-2', $data['id'] );
     758        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    759759        $this->assertEqualSets(
    760760            array(
     
    769769        $request->set_body_params(
    770770            array(
     771                'id_base'  => 'text',
    771772                'sidebar'  => 'sidebar-1',
    772773                'instance' => array(
    773774                    'raw' => array( 'text' => 'Text 2' ),
    774775                ),
    775                 'id_base'  => 'text',
    776776            )
    777777        );
    778778        $response = rest_get_server()->dispatch( $request );
    779779        $data     = $response->get_data();
    780         $this->assertEquals( 'text-3', $data['id'] );
    781         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     780        $this->assertSame( 'text-3', $data['id'] );
     781        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    782782        $this->assertEqualSets(
    783783            array(
     
    815815        $request->set_body_params(
    816816            array(
     817                'id_base'  => 'text',
    817818                'sidebar'  => 'sidebar-1',
    818819                'instance' => array(
     
    821822                    ),
    822823                ),
    823                 'id_base'  => 'text',
    824824            )
    825825        );
    826826        $response = rest_get_server()->dispatch( $request );
    827827        $data     = $response->get_data();
    828         $this->assertEquals( 'text-2', $data['id'] );
    829         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     828        $this->assertSame( 'text-2', $data['id'] );
     829        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    830830        $this->assertEqualSets(
    831831            array(
     
    861861            array(
    862862                'id'       => 'text-1',
     863                'id_base'  => 'text',
    863864                'sidebar'  => 'sidebar-1',
    864865                'instance' => array(
     
    867868                    ),
    868869                ),
    869                 'id_base'  => 'text',
    870870            )
    871871        );
     
    873873        $data     = $response->get_data();
    874874
    875         $this->assertEquals( 'text-1', $data['id'] );
    876         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     875        $this->assertSame( 'text-1', $data['id'] );
     876        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    877877        $this->assertEqualSets(
    878878            array(
     
    920920        $error    = $response->as_error();
    921921        $this->assertNotWPError( $error, $error ? $error->get_error_message() : '' );
    922         $this->assertEquals( 'sidebar-2', $response->get_data()['sidebar'] );
     922        $this->assertSame( 'sidebar-2', $response->get_data()['sidebar'] );
    923923
    924924        $sidebar1 = rest_do_request( '/wp/v2/sidebars/sidebar-1' );
     
    962962        $data     = $response->get_data();
    963963
    964         $this->assertEquals( 'text-1', $data['id'] );
    965         $this->assertEquals( 'sidebar-1', $data['sidebar'] );
     964        $this->assertSame( 'text-1', $data['id'] );
     965        $this->assertSame( 'sidebar-1', $data['sidebar'] );
    966966        $this->assertEqualSets(
    967967            array(
     
    979979    public function test_store_html_as_admin() {
    980980        if ( is_multisite() ) {
    981             $this->assertEquals(
     981            $this->assertSame(
    982982                '<div class="textwidget">alert(1)</div>',
    983983                $this->update_text_widget_with_raw_html( '<script>alert(1)</script>' )
    984984            );
    985985        } else {
    986             $this->assertEquals(
     986            $this->assertSame(
    987987                '<div class="textwidget"><script>alert(1)</script></div>',
    988988                $this->update_text_widget_with_raw_html( '<script>alert(1)</script>' )
     
    997997        wp_set_current_user( self::$superadmin_id );
    998998        if ( is_multisite() ) {
    999             $this->assertEquals(
     999            $this->assertSame(
    10001000                '<div class="textwidget"><script>alert(1)</script></div>',
    10011001                $this->update_text_widget_with_raw_html( '<script>alert(1)</script>' )
    10021002            );
    10031003        } else {
    1004             $this->assertEquals(
     1004            $this->assertSame(
    10051005                '<div class="textwidget"><script>alert(1)</script></div>',
    10061006                $this->update_text_widget_with_raw_html( '<script>alert(1)</script>' )
     
    10291029            array(
    10301030                'id'       => 'text-1',
     1031                'id_base'  => 'text',
    10311032                'instance' => array(
    10321033                    'raw' => array(
     
    10341035                    ),
    10351036                ),
    1036                 'id_base'  => 'text',
    10371037            )
    10381038        );
     
    10661066        $data     = $response->get_data();
    10671067        $data     = $this->remove_links( $data );
    1068         $this->assertEquals(
     1068        $this->assertSame(
    10691069            array(
    10701070                'id'            => 'testwidget',
     1071                'id_base'       => 'testwidget',
    10711072                'sidebar'       => 'sidebar-1',
    1072                 'instance'      => null,
    10731073                'rendered'      => '<h1>My test id</h1><span>My test title</span>',
    10741074                'rendered_form' => 'WP test widget form',
    1075                 'id_base'       => 'testwidget',
     1075                'instance'      => null,
    10761076            ),
    10771077            $data
     
    11031103        $data     = $response->get_data();
    11041104        $data     = $this->remove_links( $data );
    1105         $this->assertEquals(
     1105        $this->assertSame(
    11061106            array(
    11071107                'id'            => 'testwidget',
     1108                'id_base'       => 'testwidget',
    11081109                'sidebar'       => 'sidebar-1',
    1109                 'instance'      => null,
    11101110                'rendered'      => '<h1>My test id</h1><span>My test title</span>',
    11111111                'rendered_form' => 'WP test widget form',
    1112                 'id_base'       => 'testwidget',
     1112                'instance'      => null,
    11131113            ),
    11141114            $data
     
    11591159            array(
    11601160                'id'       => 'text-1',
     1161                'id_base'  => 'text',
    11611162                'sidebar'  => 'sidebar-1',
    11621163                'instance' => array(
     
    11651166                    ),
    11661167                ),
    1167                 'id_base'  => 'text',
    11681168            )
    11691169        );
     
    11801180        );
    11811181
    1182         $this->assertEquals(
     1182        $this->assertSame(
    11831183            '<div class="textwidget">Updated \\" \\\' text test</div>',
    11841184            $data['rendered']
     
    12111211            array(
    12121212                'id'            => 'text-1',
     1213                'id_base'       => 'text',
    12131214                'sidebar'       => 'wp_inactive_widgets',
    12141215                'instance'      => array(
     
    12311232                    ),
    12321233                ),
    1233                 'id_base'       => 'text',
    12341234                'rendered'      => '',
    12351235                'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
     
    12711271
    12721272                    'id'            => 'text-1',
     1273                    'id_base'       => 'text',
    12731274                    'sidebar'       => 'sidebar-1',
    12741275                    'instance'      => array(
     
    12911292                        ),
    12921293                    ),
    1293                     'id_base'       => 'text',
    12941294                    'rendered'      => '<div class="textwidget">Custom text test</div>',
    12951295                    'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
     
    13041304
    13051305        $response = rest_do_request( '/wp/v2/widgets/text-1' );
    1306         $this->assertEquals( 404, $response->get_status() );
     1306        $this->assertSame( 404, $response->get_status() );
    13071307
    13081308        $this->assertArrayNotHasKey( 'text-1', get_option( 'sidebars_widgets' )['sidebar-1'] );
     
    13801380        $properties = $data['schema']['properties'];
    13811381
    1382         $this->assertEquals( 7, count( $properties ) );
     1382        $this->assertSame( 7, count( $properties ) );
    13831383        $this->assertArrayHasKey( 'id', $properties );
    13841384        $this->assertArrayHasKey( 'id_base', $properties );
Note: See TracChangeset for help on using the changeset viewer.