Make WordPress Core

Changeset 51135


Ignore:
Timestamp:
06/09/2021 07:41:47 PM (5 years 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.