WordPress.org

Make WordPress Core

Changeset 51135


Ignore:
Timestamp:
06/09/2021 07:41:47 PM (6 months ago)
Author:
SergeyBiryukov
Message:

Tests: Ignore EOL differences in some tests using multiline string assertions.

Unix vs. Windows EOL style mismatches can cause misleading failures in tests using the heredoc syntax (<<<) or multiline strings as the expected result.

Follow-up to [48466], [50995], [51079].

See #52625.

Location:
trunk/tests/phpunit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/includes/abstract-testcase.php

    r50913 r51135  
    661661     *
    662662     * @since 5.6.0
    663      *
    664      * @param string $expected The expected value.
    665      * @param string $actual   The actual value.
     663     * @since 5.8.0 Added support for nested arrays.
     664     *
     665     * @param string|array $expected The expected value.
     666     * @param string|array $actual   The actual value.
    666667     */
    667668    public function assertSameIgnoreEOL( $expected, $actual ) {
    668         $this->assertSame( str_replace( "\r\n", "\n", $expected ), str_replace( "\r\n", "\n", $actual ) );
     669        $expected = map_deep(
     670            $expected,
     671            function ( $value ) {
     672                return str_replace( "\r\n", "\n", $value );
     673            }
     674        );
     675
     676        $actual = map_deep(
     677            $actual,
     678            function ( $value ) {
     679                return str_replace( "\r\n", "\n", $value );
     680            }
     681        );
     682
     683        $this->assertSame( $expected, $actual );
    669684    }
    670685
  • trunk/tests/phpunit/tests/rest-api/rest-widget-types-controller.php

    r51079 r51135  
    308308        $response = rest_get_server()->dispatch( $request );
    309309        $data     = $response->get_data();
    310         $this->assertSame(
     310        $this->assertSameIgnoreEOL(
    311311            "<p>\n" .
    312312            "\t\t\t<label for=\"widget-search--1-title\">Title:</label>\n" .
     
    344344        $response = rest_get_server()->dispatch( $request );
    345345        $data     = $response->get_data();
    346         $this->assertSame(
     346        $this->assertSameIgnoreEOL(
    347347            "<p>\n" .
    348348            "\t\t\t<label for=\"widget-search-8-title\">Title:</label>\n" .
     
    386386        $response = rest_get_server()->dispatch( $request );
    387387        $data     = $response->get_data();
    388         $this->assertSame(
     388        $this->assertSameIgnoreEOL(
    389389            "<p>\n" .
    390390            "\t\t\t<label for=\"widget-search--1-title\">Title:</label>\n" .
     
    422422        $response = rest_get_server()->dispatch( $request );
    423423        $data     = $response->get_data();
    424         $this->assertSame(
     424        $this->assertSameIgnoreEOL(
    425425            "<p>\n" .
    426426            "\t\t\t<label for=\"widget-search--1-title\">Title:</label>\n" .
     
    466466        $response = rest_get_server()->dispatch( $request );
    467467        $data     = $response->get_data();
    468         $this->assertSame(
     468        $this->assertSameIgnoreEOL(
    469469            "<p>\n" .
    470470            "\t\t\t<label for=\"widget-search--1-title\">Title:</label>\n" .
  • trunk/tests/phpunit/tests/rest-api/rest-widgets-controller.php

    r51088 r51135  
    382382        $data               = $response->get_data();
    383383        $data               = $this->remove_links( $data );
    384         $this->assertEqualSets(
     384        $this->assertSameIgnoreEOL(
    385385            array(
    386386                array(
     
    388388                    'id_base'       => 'text',
    389389                    'sidebar'       => 'sidebar-1',
     390                    'rendered'      => '<div class="textwidget">Custom text test</div>',
     391                    'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
     392                                    '           <textarea id="widget-text-1-text" name="widget-text[1][text]" class="text sync-input" hidden>Custom text test</textarea>' . "\n" .
     393                                    '           <input id="widget-text-1-filter" name="widget-text[1][filter]" class="filter sync-input" type="hidden" value="on">' . "\n" .
     394                                    '           <input id="widget-text-1-visual" name="widget-text[1][visual]" class="visual sync-input" type="hidden" value="on">',
    390395                    'instance'      => array(
    391396                        'encoded' => base64_encode(
     
    407412                        ),
    408413                    ),
    409                     'rendered'      => '<div class="textwidget">Custom text test</div>',
    410                     'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
    411                                     '           <textarea id="widget-text-1-text" name="widget-text[1][text]" class="text sync-input" hidden>Custom text test</textarea>' . "\n" .
    412                                     '           <input id="widget-text-1-filter" name="widget-text[1][filter]" class="filter sync-input" type="hidden" value="on">' . "\n" .
    413                                     '           <input id="widget-text-1-visual" name="widget-text[1][visual]" class="visual sync-input" type="hidden" value="on">',
    414414                ),
    415415                array(
     
    12081208        $response = rest_do_request( $request );
    12091209
    1210         $this->assertEqualSets(
     1210        $this->assertSameIgnoreEOL(
    12111211            array(
    12121212                'id'            => 'text-1',
    12131213                'id_base'       => 'text',
    12141214                'sidebar'       => 'wp_inactive_widgets',
     1215                'rendered'      => '',
     1216                'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
     1217                                '           <textarea id="widget-text-1-text" name="widget-text[1][text]" class="text sync-input" hidden>Custom text test</textarea>' . "\n" .
     1218                                '           <input id="widget-text-1-filter" name="widget-text[1][filter]" class="filter sync-input" type="hidden" value="on">' . "\n" .
     1219                                '           <input id="widget-text-1-visual" name="widget-text[1][visual]" class="visual sync-input" type="hidden" value="on">',
    12151220                'instance'      => array(
    12161221                    'encoded' => base64_encode(
     
    12321237                    ),
    12331238                ),
    1234                 'rendered'      => '',
    1235                 'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
    1236                                 '           <textarea id="widget-text-1-text" name="widget-text[1][text]" class="text sync-input" hidden>Custom text test</textarea>' . "\n" .
    1237                                 '           <input id="widget-text-1-filter" name="widget-text[1][filter]" class="filter sync-input" type="hidden" value="on">' . "\n" .
    1238                                 '           <input id="widget-text-1-visual" name="widget-text[1][visual]" class="visual sync-input" type="hidden" value="on">',
    12391239            ),
    12401240            $response->get_data()
     
    12651265        $response = rest_do_request( $request );
    12661266
    1267         $this->assertEqualSets(
     1267        $this->assertSameIgnoreEOL(
    12681268            array(
    12691269                'deleted'  => true,
     
    12731273                    'id_base'       => 'text',
    12741274                    'sidebar'       => 'sidebar-1',
     1275                    'rendered'      => '<div class="textwidget">Custom text test</div>',
     1276                    'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
     1277                                    '           <textarea id="widget-text-1-text" name="widget-text[1][text]" class="text sync-input" hidden>Custom text test</textarea>' . "\n" .
     1278                                    '           <input id="widget-text-1-filter" name="widget-text[1][filter]" class="filter sync-input" type="hidden" value="on">' . "\n" .
     1279                                    '           <input id="widget-text-1-visual" name="widget-text[1][visual]" class="visual sync-input" type="hidden" value="on">',
    12751280                    'instance'      => array(
    12761281                        'encoded' => base64_encode(
     
    12921297                        ),
    12931298                    ),
    1294                     'rendered'      => '<div class="textwidget">Custom text test</div>',
    1295                     'rendered_form' => '<input id="widget-text-1-title" name="widget-text[1][title]" class="title sync-input" type="hidden" value="">' . "\n" .
    1296                                     '           <textarea id="widget-text-1-text" name="widget-text[1][text]" class="text sync-input" hidden>Custom text test</textarea>' . "\n" .
    1297                                     '           <input id="widget-text-1-filter" name="widget-text[1][filter]" class="filter sync-input" type="hidden" value="on">' . "\n" .
    1298                                     '           <input id="widget-text-1-visual" name="widget-text[1][visual]" class="visual sync-input" type="hidden" value="on">',
    12991299
    13001300                ),
Note: See TracChangeset for help on using the changeset viewer.