-
Notifications
You must be signed in to change notification settings - Fork 7.8k
/
Copy pathbasic-functionality.phpt
156 lines (149 loc) · 3.97 KB
/
basic-functionality.phpt
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
--TEST--
IntlChar basic functionality
--EXTENSIONS--
intl
--FILE--
<?php
function unicode_info($cp) {
$proplist = array(
IntlChar::PROPERTY_ALPHABETIC,
);
$methodList = array(
'isUAlphabetic',
'isUUppercase', 'isupper',
'isULowercase', 'islower',
'isUWhiteSpace', 'isWhitespace',
'istitle', 'isdigit', 'isalpha', 'isalnum',
'isxdigit', 'ispunct', 'ispunct', 'isgraph',
'isblank', 'isdefined', 'isspace', 'iscntrl',
'isMirrored', 'isIDStart', 'isIDPart',
'getBlockCode', 'charName',
);
$ncp = IntlChar::ord($cp);
printf("Codepoint U+%04x\n", $ncp);
foreach($proplist as $prop) {
printf(" hasBinaryProperty(%s): %s\n",
IntlChar::getPropertyName($prop),
IntlChar::hasBinaryProperty($cp, $prop) ? "true" : "false"
);
}
foreach($methodList as $method) {
echo " $method(): ";
var_dump(IntlChar::$method($cp));
}
echo " charAge(): ", implode('.', IntlChar::charAge($cp)), "\n";
echo "\n";
}
printf("Codepoint range: %04x-%04x\n", IntlChar::CODEPOINT_MIN, IntlChar::CODEPOINT_MAX);
$codepoints = array('P', 0xDF, 0x2603);
foreach($codepoints as $cp) {
unicode_info($cp);
}
echo "Sample range of codepoints: U+2600-U+260F\n";
IntlChar::enumCharNames(0x2600, 0x2610, function($cp, $nc, $name) {
printf("U+%04x %s\n", $cp, $name);
});
echo "RECYCLING SYMBOL FOR TYPE-1 PLASTICS => ";
var_dump(IntlChar::charFromName("RECYCLING SYMBOL FOR TYPE-1 PLASTICS"));
?>
--EXPECT--
Codepoint range: 0000-10ffff
Codepoint U+0050
hasBinaryProperty(Alphabetic): true
isUAlphabetic(): bool(true)
isUUppercase(): bool(true)
isupper(): bool(true)
isULowercase(): bool(false)
islower(): bool(false)
isUWhiteSpace(): bool(false)
isWhitespace(): bool(false)
istitle(): bool(false)
isdigit(): bool(false)
isalpha(): bool(true)
isalnum(): bool(true)
isxdigit(): bool(false)
ispunct(): bool(false)
ispunct(): bool(false)
isgraph(): bool(true)
isblank(): bool(false)
isdefined(): bool(true)
isspace(): bool(false)
iscntrl(): bool(false)
isMirrored(): bool(false)
isIDStart(): bool(true)
isIDPart(): bool(true)
getBlockCode(): int(1)
charName(): string(22) "LATIN CAPITAL LETTER P"
charAge(): 1.1.0.0
Codepoint U+00df
hasBinaryProperty(Alphabetic): true
isUAlphabetic(): bool(true)
isUUppercase(): bool(false)
isupper(): bool(false)
isULowercase(): bool(true)
islower(): bool(true)
isUWhiteSpace(): bool(false)
isWhitespace(): bool(false)
istitle(): bool(false)
isdigit(): bool(false)
isalpha(): bool(true)
isalnum(): bool(true)
isxdigit(): bool(false)
ispunct(): bool(false)
ispunct(): bool(false)
isgraph(): bool(true)
isblank(): bool(false)
isdefined(): bool(true)
isspace(): bool(false)
iscntrl(): bool(false)
isMirrored(): bool(false)
isIDStart(): bool(true)
isIDPart(): bool(true)
getBlockCode(): int(2)
charName(): string(26) "LATIN SMALL LETTER SHARP S"
charAge(): 1.1.0.0
Codepoint U+2603
hasBinaryProperty(Alphabetic): false
isUAlphabetic(): bool(false)
isUUppercase(): bool(false)
isupper(): bool(false)
isULowercase(): bool(false)
islower(): bool(false)
isUWhiteSpace(): bool(false)
isWhitespace(): bool(false)
istitle(): bool(false)
isdigit(): bool(false)
isalpha(): bool(false)
isalnum(): bool(false)
isxdigit(): bool(false)
ispunct(): bool(false)
ispunct(): bool(false)
isgraph(): bool(true)
isblank(): bool(false)
isdefined(): bool(true)
isspace(): bool(false)
iscntrl(): bool(false)
isMirrored(): bool(false)
isIDStart(): bool(false)
isIDPart(): bool(false)
getBlockCode(): int(55)
charName(): string(7) "SNOWMAN"
charAge(): 1.1.0.0
Sample range of codepoints: U+2600-U+260F
U+2600 BLACK SUN WITH RAYS
U+2601 CLOUD
U+2602 UMBRELLA
U+2603 SNOWMAN
U+2604 COMET
U+2605 BLACK STAR
U+2606 WHITE STAR
U+2607 LIGHTNING
U+2608 THUNDERSTORM
U+2609 SUN
U+260a ASCENDING NODE
U+260b DESCENDING NODE
U+260c CONJUNCTION
U+260d OPPOSITION
U+260e BLACK TELEPHONE
U+260f WHITE TELEPHONE
RECYCLING SYMBOL FOR TYPE-1 PLASTICS => int(9843)