Strings.ord().phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Test: Nette\Utils\Strings::ord()
  4. */
  5. declare(strict_types=1);
  6. use Nette\Utils\Strings;
  7. use Tester\Assert;
  8. require __DIR__ . '/../bootstrap.php';
  9. Assert::same(0x000000, Strings::ord("\x00"));
  10. Assert::same(0x00007F, Strings::ord("\x7F"));
  11. Assert::same(0x000080, Strings::ord("\u{80}"));
  12. Assert::same(0x0007FF, Strings::ord("\u{7FF}"));
  13. Assert::same(0x000800, Strings::ord("\u{800}"));
  14. Assert::same(0x00D7FF, Strings::ord("\u{D7FF}"));
  15. Assert::same(0x00E000, Strings::ord("\u{E000}"));
  16. Assert::same(0x00FFFF, Strings::ord("\u{FFFF}"));
  17. Assert::same(0x010000, Strings::ord("\u{10000}"));
  18. Assert::same(0x10FFFF, Strings::ord("\u{10FFFF}"));
  19. Assert::same(0x000080, Strings::ord("\u{80}\u{80}"));
  20. Assert::exception(
  21. fn() => Strings::ord("\u{D800}"),
  22. Nette\InvalidArgumentException::class,
  23. 'Invalid UTF-8 character "\xEDA080".',
  24. );
  25. Assert::exception(
  26. fn() => Strings::ord(''),
  27. Nette\InvalidArgumentException::class,
  28. 'Invalid UTF-8 character "".',
  29. );
  30. Assert::exception(
  31. fn() => Strings::ord("\xFF"),
  32. Nette\InvalidArgumentException::class,
  33. 'Invalid UTF-8 character "\xFF".',
  34. );