Strings.compare().phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. /**
  3. * Test: Nette\Utils\Strings::compare()
  4. * @phpExtension mbstring
  5. */
  6. declare(strict_types=1);
  7. use Nette\Utils\Strings;
  8. use Tester\Assert;
  9. require __DIR__ . '/../bootstrap.php';
  10. Assert::true(Strings::compare('', ''));
  11. Assert::true(Strings::compare('', '', 0));
  12. Assert::true(Strings::compare('', '', 1));
  13. Assert::false(Strings::compare('xy', 'xx'));
  14. Assert::true(Strings::compare('xy', 'xx', 0));
  15. Assert::true(Strings::compare('xy', 'xx', 1));
  16. Assert::false(Strings::compare('xy', 'yy', 1));
  17. Assert::true(Strings::compare('xy', 'yy', -1));
  18. Assert::true(Strings::compare('xy', 'yy', -1));
  19. Assert::true(Strings::compare("I\u{F1}t\u{EB}rn\u{E2}ti\u{F4}n\u{E0}liz\u{E6}ti\u{F8}n", "I\u{D1}T\u{CB}RN\u{C2}TI\u{D4}N\u{C0}LIZ\u{C6}TI\u{D8}N")); // Iñtërnâtiônàlizætiøn
  20. Assert::true(Strings::compare("I\u{F1}t\u{EB}rn\u{E2}ti\u{F4}n\u{E0}liz\u{E6}ti\u{F8}n", "I\u{D1}T\u{CB}RN\u{C2}TI\u{D4}N\u{C0}LIZ\u{C6}TI\u{D8}N", 10));
  21. if (class_exists('Normalizer')) {
  22. Assert::true(Strings::compare("\xC3\x85", "A\xCC\x8A"), 'comparing NFC with NFD form');
  23. Assert::true(Strings::compare("A\xCC\x8A", "\xC3\x85"), 'comparing NFD with NFC form');
  24. }