Merge R_2_5
[m6w6/ext-http] / tests / negotiate001.phpt
1 --TEST--
2 negotiate
3 --SKIPIF--
4 <?php include "skipif.inc"; ?>
5 --ENV--
6 HTTP_ACCEPT=text/html,text/plain,text/xml;q=0.1,image/*;q=0.1,*/*;q=0
7 HTTP_ACCEPT_CHARSET=utf-8,iso-8859-1;q=0.8,iso-8859-15;q=0
8 HTTP_ACCEPT_ENCODING=gzip,deflate;q=0
9 HTTP_ACCEPT_LANGUAGE=de-DE,de-AT;q=0.9,en;q=0.8,fr;q=0
10 --FILE--
11 CONTENT TYPE
12
13 <?php
14 $ct = http\Env::negotiateContentType(array("text/html","text/xml","text/json"), $ctr);
15 echo "$ct: "; print_r($ctr);
16 $ct = http\Env::negotiateContentType(array("text/xml","text/json"), $ctr);
17 echo "$ct: "; print_r($ctr);
18 $ct = http\Env::negotiateContentType(array("text/json"), $ctr);
19 echo "$ct: "; print_r($ctr);
20 ?>
21
22 CHARSET
23
24 <?php
25 $cs = http\Env::negotiateCharset(array("utf-8", "iso-8859-1", "iso-8859-15"), $csr);
26 echo "$cs: "; print_r($csr);
27 $cs = http\Env::negotiateCharset(array("iso-8859-1", "iso-8859-15"), $csr);
28 echo "$cs: "; print_r($csr);
29 $cs = http\Env::negotiateCharset(array("utf-16", "iso-8859-15", "iso-8859-2"), $csr);
30 echo "$cs: "; print_r($csr);
31 ?>
32
33 ENCODING
34
35 <?php
36 $ce = http\Env::negotiateEncoding(array("gzip", "deflate", "sdch"), $cer);
37 echo "$ce: "; print_r($cer);
38 $ce = http\Env::negotiateEncoding(array("", "sdch"), $cer);
39 echo "$ce: "; print_r($cer);
40 ?>
41
42 LANGUAGE
43
44 <?php
45 $ln = http\Env::negotiateLanguage(array("de", "en", "fr"), $lnr);
46 echo "$ln: "; print_r($lnr);
47 $ln = http\Env::negotiateLanguage(array("de-DE", "de-AT", "en"), $lnr);
48 echo "$ln: "; print_r($lnr);
49 $ln = http\Env::negotiateLanguage(array("nl", "fr", "en"), $lnr);
50 echo "$ln: "; print_r($lnr);
51 ?>
52
53 CUSTOM
54
55 <?php
56 $cc = http\Env::negotiate("a, a.b;q=0.9, c.d;q=0, *.* ; q=0.1",
57 array("a.x", "c.d", "c.e", "a.b"), ".", $ccr);
58 echo "$cc: "; print_r($ccr);
59 ?>
60 DONE
61 --EXPECT--
62 CONTENT TYPE
63
64 text/html: Array
65 (
66 [text/html] => 0.99
67 [text/xml] => 0.1
68 )
69 text/xml: Array
70 (
71 [text/xml] => 0.1
72 )
73 text/json: Array
74 (
75 )
76
77 CHARSET
78
79 utf-8: Array
80 (
81 [utf-8] => 0.99
82 [iso-8859-1] => 0.8
83 )
84 iso-8859-1: Array
85 (
86 [iso-8859-1] => 0.8
87 )
88 utf-16: Array
89 (
90 )
91
92 ENCODING
93
94 gzip: Array
95 (
96 [gzip] => 0.99
97 )
98 : Array
99 (
100 )
101
102 LANGUAGE
103
104 de: Array
105 (
106 [de] => 0.99
107 [en] => 0.8
108 )
109 de-DE: Array
110 (
111 [de-DE] => 0.99
112 [de-AT] => 0.9
113 [en] => 0.8
114 )
115 en: Array
116 (
117 [en] => 0.8
118 )
119
120 CUSTOM
121
122 a.b: Array
123 (
124 [a.b] => 0.9
125 [a.x] => 0.1
126 [c.e] => 0.1
127 )
128 DONE