Make WordPress Core

Changeset 51461


Ignore:
Timestamp:
07/19/2021 01:29:45 PM (5 years ago)
Author:
SergeyBiryukov
Message:

Tests: Use more appropriate assertions in various tests.

This replaces instances of assertFalse( stripos( ... ) ) with assertStringNotContainsString() or assertStringNotContainsStringIgnoringCase() to use native PHPUnit functionality.

Going forward, these methods introduced in PHPUnit 7.5 should be used for similar assertions:

  • assertStringContainsString()
  • assertStringContainsStringIgnoringCase()
  • assertStringNotContainsString()
  • assertStringNotContainsStringIgnoringCase()

As WordPress currently uses PHPUnit 5.7.x to run tests on PHP 5.6, polyfills for these methods are now added to the WP_UnitTestCase class for PHPUnit < 7.5.

Follow-up to [51335], [51337], [51367], [51397], [51403], [51404], [51436], [51438], [51448], [51449], [51451], [51453], [51454].

See #53363.

Location:
trunk/tests/phpunit
Files:
8 edited

Legend:

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

    r51451 r51461  
    391391
    392392        /**
    393          * Asserts that a string haystack does not contain a needle.
     393         * Asserts that a string haystack contains a needle (case-insensitive).
    394394         *
    395395         * This method has been backported from a more recent PHPUnit version,
     
    402402         * @param string $message  Optional. Message to display when the assertion fails.
    403403         */
     404        public static function assertStringContainsStringIgnoringCase( $needle, $haystack, $message = '' ) {
     405                static::assertContains( $needle, $haystack, $message, true );
     406        }
     407
     408        /**
     409         * Asserts that a string haystack does not contain a needle.
     410         *
     411         * This method has been backported from a more recent PHPUnit version,
     412         * as tests running on PHP 5.6 use PHPUnit 5.7.x.
     413         *
     414         * @since 5.9.0
     415         *
     416         * @param string $needle   The string to search for.
     417         * @param string $haystack The string to treat as the haystack.
     418         * @param string $message  Optional. Message to display when the assertion fails.
     419         */
    404420        public static function assertStringNotContainsString( $needle, $haystack, $message = '' ) {
    405421                static::assertNotContains( $needle, $haystack, $message );
    406422        }
     423
     424        /**
     425         * Asserts that a string haystack does not contain a needle (case-insensitive).
     426         *
     427         * This method has been backported from a more recent PHPUnit version,
     428         * as tests running on PHP 5.6 use PHPUnit 5.7.x.
     429         *
     430         * @since 5.9.0
     431         *
     432         * @param string $needle   The string to search for.
     433         * @param string $haystack The string to treat as the haystack.
     434         * @param string $message  Optional. Message to display when the assertion fails.
     435         */
     436        public static function assertStringNotContainsStringIgnoringCase( $needle, $haystack, $message = '' ) {
     437                static::assertNotContains( $needle, $haystack, $message, true );
     438        }
    407439}
  • trunk/tests/phpunit/tests/rest-api/rest-categories-controller.php

    r51404 r51461  
    627627                        rest_url( 'wp/v2/categories' )
    628628                );
    629                 $this->assertFalse( stripos( $headers['Link'], 'rel="prev"' ) );
     629                $this->assertStringNotContainsString( 'rel="prev"', $headers['Link'] );
    630630                $this->assertContains( '<' . $next_link . '>; rel="next"', $headers['Link'] );
    631631
     
    671671                );
    672672                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    673                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     673                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    674674
    675675                // Out of bounds.
     
    688688                );
    689689                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    690                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     690                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    691691        }
    692692
  • trunk/tests/phpunit/tests/rest-api/rest-comments-controller.php

    r51404 r51461  
    822822                        rest_url( '/wp/v2/comments' )
    823823                );
    824                 $this->assertFalse( stripos( $headers['Link'], 'rel="prev"' ) );
     824                $this->assertStringNotContainsString( 'rel="prev"', $headers['Link'] );
    825825                $this->assertContains( '<' . $next_link . '>; rel="next"', $headers['Link'] );
    826826
     
    868868                );
    869869                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    870                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     870                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    871871
    872872                // Out of bounds.
     
    884884                );
    885885                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    886                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     886                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    887887        }
    888888
  • trunk/tests/phpunit/tests/rest-api/rest-pattern-directory-controller.php

    r51208 r51461  
    177177                        $search_field_values = $pattern['title'] . ' ' . $pattern['description'];
    178178
    179                         $this->assertNotFalse( stripos( $search_field_values, $search_term ) );
     179                        $this->assertStringContainsStringIgnoringCase( $search_term, $search_field_values );
    180180                }
    181181        }
  • trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php

    r51405 r51461  
    15321532                        rest_url( '/wp/v2/posts' )
    15331533                );
    1534                 $this->assertFalse( stripos( $headers['Link'], 'rel="prev"' ) );
     1534                $this->assertStringNotContainsString( 'rel="prev"', $headers['Link'] );
    15351535                $this->assertContains( '<' . $next_link . '>; rel="next"', $headers['Link'] );
    15361536
     
    15741574                );
    15751575                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    1576                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     1576                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    15771577
    15781578                // Out of bounds.
  • trunk/tests/phpunit/tests/rest-api/rest-revisions-controller.php

    r51367 r51461  
    483483                        rest_url( $rest_route )
    484484                );
    485                 $this->assertFalse( stripos( $headers['Link'], 'rel="prev"' ) );
     485                $this->assertStringNotContainsString( 'rel="prev"', $headers['Link'] );
    486486                $this->assertContains( '<' . $next_link . '>; rel="next"', $headers['Link'] );
    487487        }
  • trunk/tests/phpunit/tests/rest-api/rest-tags-controller.php

    r51404 r51461  
    591591                        rest_url( 'wp/v2/tags' )
    592592                );
    593                 $this->assertFalse( stripos( $headers['Link'], 'rel="prev"' ) );
     593                $this->assertStringNotContainsString( 'rel="prev"', $headers['Link'] );
    594594                $this->assertContains( '<' . $next_link . '>; rel="next"', $headers['Link'] );
    595595
     
    633633                );
    634634                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    635                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     635                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    636636
    637637                // Out of bounds.
     
    649649                );
    650650                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    651                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     651                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    652652        }
    653653
  • trunk/tests/phpunit/tests/rest-api/rest-users-controller.php

    r51404 r51461  
    322322                        rest_url( 'wp/v2/users' )
    323323                );
    324                 $this->assertFalse( stripos( $headers['Link'], 'rel="prev"' ) );
     324                $this->assertStringNotContainsString( 'rel="prev"', $headers['Link'] );
    325325                $this->assertContains( '<' . $next_link . '>; rel="next"', $headers['Link'] );
    326326
     
    364364                );
    365365                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    366                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     366                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    367367
    368368                // Out of bounds.
     
    380380                );
    381381                $this->assertContains( '<' . $prev_link . '>; rel="prev"', $headers['Link'] );
    382                 $this->assertFalse( stripos( $headers['Link'], 'rel="next"' ) );
     382                $this->assertStringNotContainsString( 'rel="next"', $headers['Link'] );
    383383        }
    384384
Note: See TracChangeset for help on using the changeset viewer.