19declare(strict_types=1);
25use PHPUnit\Framework\TestCase;
27use PHPUnit\Framework\Attributes\DataProvider;
28use PHPUnit\Framework\MockObject\Stub;
37 public function setUp(): void
40 $language = $this->createStub(\
ILIAS\
Language\Language::class);
43 $this->form_d = $group->utfnormal()->formD();
44 $this->form_c = $group->utfnormal()->formC();
45 $this->form_kc = $group->utfnormal()->formKC();
46 $this->form_kd = $group->utfnormal()->formKD();
53 [
"Ä\uFB03n",
"Ä\uFB03n",
'Ä\uFB03n',
'Ä\uFB03n',
'Ä\uFB03n'],
54 [
"\xC3\x85",
'Å',
'Å',
'Å',
'Å'],
55 [
"\xCC\x8A",
'̊',
'̊',
'̊',
'̊'],
56 [
"\u{FFDA}",
'ᅳ',
'ᅳ',
'ᅳ',
'ᅳ'],
57 [
"\u{FDFA}",
'ﷺ',
'ﷺ',
'صلى الله عليه وسلم',
'صلى الله عليه وسلم'],
58 [
"\xF5",
'',
'',
'',
''],
59 [
"ä",
'ä',
'ä',
'ä',
'ä'],
60 [
"🤔",
"🤔",
"🤔",
"🤔",
"🤔"],
61 [
"你好",
"你好",
"你好",
"你好",
"你好"],
65 #[DataProvider('stringProvider')]
68 string $expected_form_c,
69 string $expected_form_d,
70 string $expected_form_kc,
71 string $expected_form_kd
74 $this->assertEquals($expected_form_c, $this->form_c->
transform($string));
77 $this->assertEquals($expected_form_d, $this->form_d->transform($string));
80 $this->assertEquals($expected_form_kc, $this->form_kc->transform($string));
83 $this->assertEquals($expected_form_kd, $this->form_kd->transform($string));
88 $char_A_ring =
"\xC3\x85";
89 $char_combining_ring_above =
'A' .
"\xCC\x8A";
91 $this->assertNotEquals($char_A_ring, $char_combining_ring_above);
92 $this->assertNotEquals(bin2hex($char_A_ring), bin2hex($char_combining_ring_above));
93 $tranformation = $this->form_d;
94 $this->assertEquals(
'Å', $tranformation->transform($char_A_ring));
95 $this->assertEquals(bin2hex(
'Å'), bin2hex($tranformation->transform($char_A_ring)));
96 $this->assertEquals(
'Å', $tranformation->transform($char_combining_ring_above));
97 $this->assertEquals(bin2hex(
'Å'), bin2hex($tranformation->transform($char_combining_ring_above)));
99 $tranformation->transform($char_A_ring),
100 $this->form_kd->transform($char_combining_ring_above)
103 bin2hex($tranformation->transform($char_A_ring)),
104 bin2hex($this->form_kd->transform($char_combining_ring_above))
testNormalization(string $string, string $expected_form_c, string $expected_form_d, string $expected_form_kc, string $expected_form_kd)
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.