-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathCodePointStringTest.php
58 lines (51 loc) · 1.5 KB
/
CodePointStringTest.php
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\String\Tests;
use Symfony\Component\String\AbstractString;
use Symfony\Component\String\CodePointString;
class CodePointStringTest extends AbstractUnicodeTestCase
{
protected static function createFromString(string $string): AbstractString
{
return new CodePointString($string);
}
public static function provideLength(): array
{
return array_merge(
parent::provideLength(),
[
// 8 instead of 5 if it were processed as a grapheme cluster
[8, 'अनुच्छेद'],
]
);
}
public static function provideBytesAt(): array
{
return array_merge(
parent::provideBytesAt(),
[
[[0x61], "Spa\u{0308}ßchen", 2],
[[0xCC, 0x88], "Spa\u{0308}ßchen", 3],
[[0xE0, 0xA5, 0x8D], 'नमस्ते', 3],
]
);
}
public static function provideCodePointsAt(): array
{
return array_merge(
parent::provideCodePointsAt(),
[
[[0x61], "Spa\u{0308}ßchen", 2],
[[0x0308], "Spa\u{0308}ßchen", 3],
[[0x094D], 'नमस्ते', 3],
]
);
}
}