-
Notifications
You must be signed in to change notification settings - Fork 3
/
level4a3.phpt
74 lines (69 loc) · 1.26 KB
/
level4a3.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
--TEST--
uri_template() level 4 expansion - fragment expansion with value modifiers
--FILE--
<?php
$data = array(
"var" => "value",
"hello" => "Hello World!",
"path" => "/foo/bar",
"list" => array("red", "green", "blue"),
"keys" => array(
"semi" => ";",
"dot" => ".",
"comma" => ","
)
);
$templates = array(
"{#path:6}/here" => "#/foo/b/here",
"{#list}" => "#red,green,blue",
"{#list*}" => "#red,green,blue",
"{#keys}" => "#semi,;,dot,.,comma,,",
"{#keys*}" => "#semi=;,dot=.,comma=,"
);
$out = array();
foreach ($templates as $tpl => $expect) {
$result = NULL;
uri_template($tpl, $data, $result);
unset($result['expressions']);
$out[] = $result;
}
var_dump($out);
?>
--EXPECT--
array(5) {
[0]=>
array(2) {
["result"]=>
string(12) "#/foo/b/here"
["state"]=>
int(0)
}
[1]=>
array(2) {
["result"]=>
string(15) "#red,green,blue"
["state"]=>
int(0)
}
[2]=>
array(2) {
["result"]=>
string(15) "#red,green,blue"
["state"]=>
int(0)
}
[3]=>
array(2) {
["result"]=>
string(21) "#semi,;,dot,.,comma,,"
["state"]=>
int(0)
}
[4]=>
array(2) {
["result"]=>
string(21) "#semi=;,dot=.,comma=,"
["state"]=>
int(0)
}
}