From 443d627da0cd1b95a90d1992c2bddba8f75cb0a7 Mon Sep 17 00:00:00 2001 From: catch Date: Fri, 17 Apr 2020 12:09:49 +0100 Subject: [PATCH] Issue #3126797 by mondrake, Berdir, longwave: [D8 only] Add forwards-compatibility shim for assertString(Not)ContainsString()replacements in phpunit 6&7 --- .../PhpUnit6/TestCompatibilityTrait.php | 28 +++++++++++++++++++ .../PhpUnit7/TestCompatibilityTrait.php | 28 +++++++++++++++++++ .../Tests/PhpunitCompatibilityTraitTest.php | 15 ++++++++++ 3 files changed, 71 insertions(+) diff --git a/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit6/TestCompatibilityTrait.php b/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit6/TestCompatibilityTrait.php index 544aa8c258c..c9c1c4df418 100644 --- a/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit6/TestCompatibilityTrait.php +++ b/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit6/TestCompatibilityTrait.php @@ -39,6 +39,34 @@ trait TestCompatibilityTrait { } } + /** + * Forward compatibility for assertStringContainsString. + */ + public static function assertStringContainsString($needle, $haystack, $message = '') { + static::assertContains($needle, $haystack, $message); + } + + /** + * Forward compatibility for assertStringContainsStringIgnoringCase. + */ + public static function assertStringContainsStringIgnoringCase($needle, $haystack, $message = '') { + static::assertContains($needle, $haystack, $message, TRUE); + } + + /** + * Forward compatibility for assertStringNotContainsString. + */ + public static function assertStringNotContainsString($needle, $haystack, $message = '') { + static::assertNotContains($needle, $haystack, $message); + } + + /** + * Forward compatibility for assertStringNotContainsStringIgnoringCase. + */ + public static function assertStringNotContainsStringIgnoringCase($needle, $haystack, $message = '') { + static::assertNotContains($needle, $haystack, $message, TRUE); + } + /** * Forward compatibility for assertEqualsCanonicalizing. */ diff --git a/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit7/TestCompatibilityTrait.php b/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit7/TestCompatibilityTrait.php index 094ed87bb53..1cec9c30ee1 100644 --- a/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit7/TestCompatibilityTrait.php +++ b/core/tests/Drupal/TestTools/PhpUnitCompatibility/PhpUnit7/TestCompatibilityTrait.php @@ -39,6 +39,34 @@ trait TestCompatibilityTrait { } } + /** + * Forward compatibility for assertStringContainsString. + */ + public static function assertStringContainsString(string $needle, string $haystack, string $message = ''): void { + static::assertContains($needle, $haystack, $message); + } + + /** + * Forward compatibility for assertStringContainsStringIgnoringCase. + */ + public static function assertStringContainsStringIgnoringCase(string $needle, string $haystack, string $message = ''): void { + static::assertContains($needle, $haystack, $message, TRUE); + } + + /** + * Forward compatibility for assertStringNotContainsString. + */ + public static function assertStringNotContainsString(string $needle, string $haystack, string $message = ''): void { + static::assertNotContains($needle, $haystack, $message); + } + + /** + * Forward compatibility for assertStringNotContainsStringIgnoringCase. + */ + public static function assertStringNotContainsStringIgnoringCase(string $needle, string $haystack, string $message = ''): void { + static::assertNotContains($needle, $haystack, $message, TRUE); + } + /** * Forward compatibility for assertEqualsCanonicalizing. */ diff --git a/core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php b/core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php index 58793c7a9e6..54e8f0431cc 100644 --- a/core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php +++ b/core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php @@ -35,6 +35,21 @@ class PhpunitCompatibilityTraitTest extends UnitTestCase { throw new \Exception($expectedMessage, $expectedCode); } + /** + * Tests that assert*StringContainsString* methods are available. + * + * @covers ::assertStringContainsString + * @covers ::assertStringContainsStringIgnoringCase + * @covers ::assertStringNotContainsString + * @covers ::assertStringNotContainsStringIgnoringCase + */ + public function testAssertStringContainsString() { + $this->assertStringContainsString("bingo", "foobarbingobongo"); + $this->assertStringContainsStringIgnoringCase("bingo", "foobarBiNgObongo"); + $this->assertStringNotContainsString("buzzer", "BUZZERbingobongo"); + $this->assertStringNotContainsStringIgnoringCase("buzzer", "foobarBiNgObongo"); + } + /** * Tests that assert(Not)EqualsCanonicalizing methods are available. *