19declare(strict_types=1);
25use PHPUnit\Framework\TestCase;
26use ILIAS\Refinery\String\Transformation\UTFNormalTransformation;
28use PHPUnit\Framework\Attributes\DataProvider;
39 $language = $this->getMockBuilder(\
ILIAS\
Language\Language::class)
40 ->disableOriginalConstructor()
44 $this->form_d = $group->utfnormal()->formD();
45 $this->form_c = $group->utfnormal()->formC();
46 $this->form_kc = $group->utfnormal()->formKC();
47 $this->form_kd = $group->utfnormal()->formKD();
54 [
"Ä\uFB03n",
"Ä\uFB03n",
'Ä\uFB03n',
'Ä\uFB03n',
'Ä\uFB03n'],
55 [
"\xC3\x85",
'Å',
'Å',
'Å',
'Å'],
56 [
"\xCC\x8A",
'̊',
'̊',
'̊',
'̊'],
57 [
"\u{FFDA}",
'ᅳ',
'ᅳ',
'ᅳ',
'ᅳ'],
58 [
"\u{FDFA}",
'ﷺ',
'ﷺ',
'صلى الله عليه وسلم',
'صلى الله عليه وسلم'],
59 [
"\xF5",
'',
'',
'',
''],
60 [
"ä",
'ä',
'ä',
'ä',
'ä'],
61 [
"🤔",
"🤔",
"🤔",
"🤔",
"🤔"],
62 [
"你好",
"你好",
"你好",
"你好",
"你好"],
66 #[DataProvider('stringProvider')]
69 string $expected_form_c,
70 string $expected_form_d,
71 string $expected_form_kc,
72 string $expected_form_kd
75 $this->assertEquals($expected_form_c, $this->form_c->
transform($string));
78 $this->assertEquals($expected_form_d, $this->form_d->transform($string));
81 $this->assertEquals($expected_form_kc, $this->form_kc->transform($string));
84 $this->assertEquals($expected_form_kd, $this->form_kd->transform($string));
89 $char_A_ring =
"\xC3\x85";
90 $char_combining_ring_above =
'A' .
"\xCC\x8A";
92 $this->assertNotEquals($char_A_ring, $char_combining_ring_above);
93 $this->assertNotEquals(bin2hex($char_A_ring), bin2hex($char_combining_ring_above));
94 $tranformation = $this->form_d;
95 $this->assertEquals(
'Å', $tranformation->transform($char_A_ring));
96 $this->assertEquals(bin2hex(
'Å'), bin2hex($tranformation->transform($char_A_ring)));
97 $this->assertEquals(
'Å', $tranformation->transform($char_combining_ring_above));
98 $this->assertEquals(bin2hex(
'Å'), bin2hex($tranformation->transform($char_combining_ring_above)));
100 $tranformation->transform($char_A_ring),
101 $this->form_kd->transform($char_combining_ring_above)
104 bin2hex($tranformation->transform($char_A_ring)),
105 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.