negotiation test & fixes
[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,*/*;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 DONE
53 --EXPECT--
54 CONTENT TYPE
55
56 text/html: Array
57 (
58 [text/html] => 0.99
59 [text/xml] => 0.1
60 )
61 text/xml: Array
62 (
63 [text/xml] => 0.1
64 )
65 text/json: Array
66 (
67 )
68
69 CHARSET
70
71 utf-8: Array
72 (
73 [utf-8] => 0.99
74 [iso-8859-1] => 0.8
75 )
76 iso-8859-1: Array
77 (
78 [iso-8859-1] => 0.8
79 )
80 utf-16: Array
81 (
82 )
83
84 ENCODING
85
86 gzip: Array
87 (
88 [gzip] => 0.99
89 )
90 : Array
91 (
92 )
93
94 LANGUAGE
95
96 de: Array
97 (
98 [de] => 0.899
99 [en] => 0.8
100 )
101 de-DE: Array
102 (
103 [de-DE] => 0.99
104 [de-AT] => 0.9
105 [en] => 0.8
106 )
107 en: Array
108 (
109 [en] => 0.8
110 )
111 DONE