Annotation of embedaddon/php/ext/imap/tests/imap_fetch_overview_variation2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test imap_fetch_overview() function : usage variations - diff data types as $msg_no arg
3: --SKIPIF--
4: <?php
5: require_once(dirname(__FILE__).'/skipif.inc');
6: ?>
7: --FILE--
8: <?php
9: /* Prototype : array imap_fetch_overview(resource $stream_id, int $msg_no [, int $options])
10: * Description: Read an overview of the information in the headers
11: * of the given message sequence
12: * Source code: ext/imap/php_imap.c
13: */
14:
15: /*
16: * Pass different data types as $msg_no argument to imap_fetch_overview() to test behaviour
17: */
18:
19: echo "*** Testing imap_fetch_overview() : usage variations ***\n";
20: require_once(dirname(__FILE__).'/imap_include.inc');
21:
22: // Initialise function arguments not being substituted
23: $stream_id = setup_test_mailbox('', 1, $mailbox, 'notSimple'); // set up temp mailbox with 1 msg
24:
25: //get an unset variable
26: $unset_var = 10;
27: unset ($unset_var);
28:
29: // get a class
30: class classA
31: {
32: public function __toString() {
33: return "Class A object";
34: }
35: }
36:
37: // heredoc string
38: $heredoc = <<<EOT
39: hello world
40: EOT;
41:
42: // get a resource variable
43: $fp = fopen(__FILE__, "r");
44:
45: // unexpected values to be passed to <<<ARGUMENT HERE>>> argument
46: $inputs = array(
47:
48: // int data
49: /*1*/ 0,
50: 1,
51: 12345,
52: -2345,
53:
54: // float data
55: /*5*/ 10.5,
56: -10.5,
57: 12.3456789000e10,
58: 12.3456789000E-10,
59: .5,
60:
61: // null data
62: /*10*/ NULL,
63: null,
64:
65: // boolean data
66: /*12*/ true,
67: false,
68: TRUE,
69: FALSE,
70:
71: // empty data
72: /*16*/ "",
73: '',
74: array(),
75:
76: // string data
77: /*19*/ "string",
78: 'string',
79: $heredoc,
80:
81: // object data
82: /*22*/ new classA(),
83:
84: // undefined data
85: /*23*/ @$undefined_var,
86:
87: // unset data
88: /*24*/ @$unset_var,
89:
90: // resource variable
91: /*25*/ $fp
92: );
93:
94: // loop through each element of $inputs to check the behavior of imap_fetch_overview()
95: $iterator = 1;
96: foreach($inputs as $input) {
97: echo "\n-- Testing with second argument value: ";
98: var_dump($input);
99: $overview = imap_fetch_overview($stream_id, $input);
100: if (!$overview) {
101: echo imap_last_error() . "\n";
102: } else {
103: displayOverviewFields($overview[0]);
104: }
105: $iterator++;
106: };
107:
108: fclose($fp);
109:
110: // clear the error stack
111: imap_errors();
112: ?>
113: ===DONE===
114: --CLEAN--
115: <?php
116: require_once(dirname(__FILE__).'/clean.inc');
117: ?>
118: --EXPECTF--
119: *** Testing imap_fetch_overview() : usage variations ***
120: Create a temporary mailbox and add 1 msgs
121: .. mailbox '{%s}%s' created
122:
123: -- Testing with second argument value: int(0)
124: Sequence out of range
125:
126: -- Testing with second argument value: int(1)
127: size is %d
128: uid is %d
129: msgno is 1
130: recent is %d
131: flagged is 0
132: answered is 0
133: deleted is 0
134: seen is 0
135: draft is 0
136: udate is OK
137:
138: -- Testing with second argument value: int(12345)
139: Sequence out of range
140:
141: -- Testing with second argument value: int(-2345)
142: Syntax error in sequence
143:
144: -- Testing with second argument value: float(10.5)
145: Sequence out of range
146:
147: -- Testing with second argument value: float(-10.5)
148: Syntax error in sequence
149:
150: -- Testing with second argument value: float(123456789000)
151: Sequence out of range
152:
153: -- Testing with second argument value: float(1.23456789E-9)
154: Sequence syntax error
155:
156: -- Testing with second argument value: float(0.5)
157: Sequence out of range
158:
159: -- Testing with second argument value: NULL
160: Sequence out of range
161:
162: -- Testing with second argument value: NULL
163: Sequence out of range
164:
165: -- Testing with second argument value: bool(true)
166: size is %d
167: uid is %d
168: msgno is 1
169: recent is %d
170: flagged is 0
171: answered is 0
172: deleted is 0
173: seen is 0
174: draft is 0
175: udate is OK
176:
177: -- Testing with second argument value: bool(false)
178: Sequence out of range
179:
180: -- Testing with second argument value: bool(true)
181: size is %d
182: uid is %d
183: msgno is 1
184: recent is %d
185: flagged is 0
186: answered is 0
187: deleted is 0
188: seen is 0
189: draft is 0
190: udate is OK
191:
192: -- Testing with second argument value: bool(false)
193: Sequence out of range
194:
195: -- Testing with second argument value: %string|unicode%(0) ""
196: Sequence out of range
197:
198: -- Testing with second argument value: %string|unicode%(0) ""
199: Sequence out of range
200:
201: -- Testing with second argument value: array(0) {
202: }
203:
204: Warning: imap_fetch_overview() expects parameter 2 to be %binary_string_optional%, array given in %s on line %d
205: Sequence out of range
206:
207: -- Testing with second argument value: %string|unicode%(6) "string"
208: Syntax error in sequence
209:
210: -- Testing with second argument value: %string|unicode%(6) "string"
211: Syntax error in sequence
212:
213: -- Testing with second argument value: %string|unicode%(11) "hello world"
214: Syntax error in sequence
215:
216: -- Testing with second argument value: object(classA)#1 (0) {
217: }
218: Syntax error in sequence
219:
220: -- Testing with second argument value: NULL
221: Syntax error in sequence
222:
223: -- Testing with second argument value: NULL
224: Syntax error in sequence
225:
226: -- Testing with second argument value: resource(%d) of type (stream)
227:
228: Warning: imap_fetch_overview() expects parameter 2 to be %binary_string_optional%, resource given in %s on line %d
229: Syntax error in sequence
230: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>