Make WordPress Core


Ignore:
Timestamp:
07/19/2021 01:29:45 PM (4 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.

File:
1 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}
Note: See TracChangeset for help on using the changeset viewer.