]> granicus.if.org Git - php/blob
284649e277
[php] /
1 --TEST--
2 Test session_cache_limiter() function : error functionality
3 --SKIPIF--
4 <?php include('skipif.inc'); ?>
5 --FILE--
6 <?php
7
8 ob_start();
9
10 /*
11  * Prototype : string session_cache_limiter([string $cache_limiter])
12  * Description : Get and/or set the current cache limiter
13  * Source code : ext/session/session.c
14  */
15
16 echo "*** Testing session_cache_limiter() : error functionality ***\n";
17
18 // Get an unset variable
19 $unset_var = 10;
20 unset($unset_var);
21
22 class classA
23 {
24     public function __toString() {
25         return "Hello World!";
26     }
27 }
28
29 $heredoc = <<<EOT
30 Hello World!
31 EOT;
32
33 $fp = fopen(__FILE__, "r");
34
35 // Unexpected values to be passed as arguments
36 $inputs = array(
37
38        // Integer data
39 /*1*/  0,
40        1,
41        12345,
42        -2345,
43
44        // Float data
45 /*5*/  10.5,
46        -10.5,
47        12.3456789000e10,
48        12.3456789000E-10,
49        .5,
50
51        // Null data
52 /*10*/ NULL,
53        null,
54
55        // Boolean data
56 /*12*/ true,
57        false,
58        TRUE,
59        FALSE,
60
61        // Empty strings
62 /*16*/ "",
63        '',
64
65        // Invalid string data
66 /*18*/ "Nothing",
67        'Nothing',
68        $heredoc,
69
70        // Object data
71 /*21*/ new classA(),
72
73        // Undefined data
74 /*22*/ @$undefined_var,
75
76        // Unset data
77 /*23*/ @$unset_var,
78 );
79
80
81 $iterator = 1;
82 foreach($inputs as $input) {
83     echo "\n-- Iteration $iterator --\n";
84     var_dump(session_cache_limiter($input));
85     $iterator++;
86 };
87
88 fclose($fp);
89 echo "Done";
90 ob_end_flush();
91 ?>
92 --EXPECTF--
93 *** Testing session_cache_limiter() : error functionality ***
94
95 -- Iteration 1 --
96 string(7) "nocache"
97
98 -- Iteration 2 --
99 string(1) "0"
100
101 -- Iteration 3 --
102 string(1) "1"
103
104 -- Iteration 4 --
105 string(5) "12345"
106
107 -- Iteration 5 --
108 string(5) "-2345"
109
110 -- Iteration 6 --
111 string(4) "10.5"
112
113 -- Iteration 7 --
114 string(5) "-10.5"
115
116 -- Iteration 8 --
117 string(12) "123456789000"
118
119 -- Iteration 9 --
120 string(13) "1.23456789E-9"
121
122 -- Iteration 10 --
123 string(3) "0.5"
124
125 -- Iteration 11 --
126 string(0) ""
127
128 -- Iteration 12 --
129 string(0) ""
130
131 -- Iteration 13 --
132 string(1) "1"
133
134 -- Iteration 14 --
135 string(0) ""
136
137 -- Iteration 15 --
138 string(1) "1"
139
140 -- Iteration 16 --
141 string(0) ""
142
143 -- Iteration 17 --
144 string(0) ""
145
146 -- Iteration 18 --
147 string(0) ""
148
149 -- Iteration 19 --
150 string(7) "Nothing"
151
152 -- Iteration 20 --
153 string(7) "Nothing"
154
155 -- Iteration 21 --
156 string(12) "Hello World!"
157
158 -- Iteration 22 --
159 string(12) "Hello World!"
160
161 -- Iteration 23 --
162 string(0) ""
163 Done