Make WordPress Core


Ignore:
Timestamp:
07/19/2021 02:00:11 PM (4 years ago)
Author:
SergeyBiryukov
Message:

Tests: Replace assertContains() with assertStringContainsString() when used with strings.

Using the assertContains() and assertNotContains() methods with string haystacks was deprecated in PHPUnit 8 and removed in PHPUnit 9.

While WordPress test suite currently only supports PHPUnit up to 7.5.x, this allows us to switch to newer assertions ahead of adding full support for PHPUnit 8+.

These methods introduced in PHPUnit 7.5 should be used as an alternative:

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

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

Follow-up to [51331], [51451], [51461].

Props jrf, dd32, SergeyBiryukov.
See #53363, #46149.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/sitemaps/sitemaps.php

    r49603 r51462  
    405405        $sitemap_string = 'Sitemap: http://' . WP_TESTS_DOMAIN . '/?sitemap=index';
    406406
    407         $this->assertContains( $sitemap_string, $robots_text, 'Sitemap URL not included in robots text.' );
     407        $this->assertStringContainsString( $sitemap_string, $robots_text, 'Sitemap URL not included in robots text.' );
    408408    }
    409409
     
    415415        $sitemap_string = 'Sitemap: http://' . WP_TESTS_DOMAIN . '/?sitemap=index';
    416416
    417         $this->assertNotContains( $sitemap_string, $robots_text );
     417        $this->assertStringNotContainsString( $sitemap_string, $robots_text );
    418418    }
    419419
     
    432432        $this->set_permalink_structure();
    433433
    434         $this->assertContains( $sitemap_string, $robots_text, 'Sitemap URL not included in robots text.' );
     434        $this->assertStringContainsString( $sitemap_string, $robots_text, 'Sitemap URL not included in robots text.' );
    435435    }
    436436
     
    443443        $sitemap_string = "\nSitemap: ";
    444444
    445         $this->assertContains( $sitemap_string, $robots_text, 'Sitemap URL not prefixed with "\n".' );
     445        $this->assertStringContainsString( $sitemap_string, $robots_text, 'Sitemap URL not prefixed with "\n".' );
    446446    }
    447447
Note: See TracChangeset for help on using the changeset viewer.