1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
<?php
/**
* Test: Nette\Utils\Strings::compare()
* @phpExtension mbstring
*/
declare(strict_types=1);
use Nette\Utils\Strings;
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
Assert::true(Strings::compare('', ''));
Assert::true(Strings::compare('', '', 0));
Assert::true(Strings::compare('', '', 1));
Assert::false(Strings::compare('xy', 'xx'));
Assert::true(Strings::compare('xy', 'xx', 0));
Assert::true(Strings::compare('xy', 'xx', 1));
Assert::false(Strings::compare('xy', 'yy', 1));
Assert::true(Strings::compare('xy', 'yy', -1));
Assert::true(Strings::compare('xy', 'yy', -1));
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
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));
if (class_exists('Normalizer')) {
Assert::true(Strings::compare("\xC3\x85", "A\xCC\x8A"), 'comparing NFC with NFD form');
Assert::true(Strings::compare("A\xCC\x8A", "\xC3\x85"), 'comparing NFD with NFC form');
}
|