You are here

class TextUtilityTest in Image Effects 8.3

Same name and namespace in other branches
  1. 8 tests/src/Unit/TextUtilityTest.php \Drupal\Tests\image_effects\Unit\TextUtilityTest
  2. 8.2 tests/src/Unit/TextUtilityTest.php \Drupal\Tests\image_effects\Unit\TextUtilityTest

Tests the UTF-8 character-based wrapper of the preg_match function.

@group Image Effects

Hierarchy

Expanded class hierarchy of TextUtilityTest

File

tests/src/Unit/TextUtilityTest.php, line 13

Namespace

Drupal\Tests\image_effects\Unit
View source
class TextUtilityTest extends UnitTestCase {

  /**
   * Performs the tests for the offset argument.
   */
  public function testOffsetArgument() {
    $matches = [];

    // Character 'п' is 2 bytes long and preg_match() would start from the
    // second 'п' character and not from the first 'z'.
    $result = TextUtility::unicodePregMatch('/п/u', 'ппzz', $matches, NULL, 2);
    $this
      ->assertEquals(0, $result, 'String was skipped using character-based offset.');

    // Again, character 'п' is 2 bytes long and we skip 1 character, so
    // preg_match() would fail, because the string with byte offset 1 is not a
    // valid UTF-8 string.
    $result = TextUtility::unicodePregMatch('/.*$/u', 'пzz', $matches, NULL, 1);
    $this
      ->assertTrue($result && $matches[0] === 'zz', 'String was matched using character-based offset.');
  }

  /**
   * Performs the tests for the captured offset.
   */
  public function testCapturedOffset() {
    $matches = [];

    // Character 'п' is 2 bytes long and non-unicode preg_match would return
    // 2 here.
    $result = TextUtility::unicodePregMatch('/z/u', 'пz', $matches, PREG_OFFSET_CAPTURE);
    $this
      ->assertTrue($result && $matches[0][1] === 1, 'Returned offset is character-based.');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
TextUtilityTest::testCapturedOffset public function Performs the tests for the captured offset.
TextUtilityTest::testOffsetArgument public function Performs the tests for the offset argument.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function 340