1--TEST--
2Test posix_getpwuid() function : usage variations  - parameter types
3--SKIPIF--
4<?php
5	if(!extension_loaded("posix")) print "skip - POSIX extension not loaded";
6?>
7--FILE--
8<?php
9/* Prototype  : proto array posix_getpwuid(long uid)
10 * Description: User database access (POSIX.1, 9.2.2)
11 * Source code: ext/posix/posix.c
12 * Alias to functions:
13 */
14
15echo "*** Testing posix_getpwuid() : usage variations ***\n";
16
17// Initialise function arguments not being substituted (if any)
18
19//get an unset variable
20$unset_var = 10;
21unset ($unset_var);
22
23//array of values to iterate over
24$values = array(
25
26      // float data
27      10.5,
28      -10.5,
29      10.1234567e10,
30      10.7654321E-10,
31      .5,
32
33      // array data
34      array(),
35      array(0),
36      array(1),
37      array(1, 2),
38      array('color' => 'red', 'item' => 'pen'),
39
40      // null data
41      NULL,
42      null,
43
44      // boolean data
45      true,
46      false,
47      TRUE,
48      FALSE,
49
50      // empty data
51      "",
52      '',
53
54      // string data
55      "string",
56      'string',
57
58      // undefined data
59      $undefined_var,
60
61      // unset data
62      $unset_var,
63
64      // object data
65      new stdclass(),
66);
67
68// loop through each element of the array for uid
69
70foreach($values as $value) {
71      echo "\nArg value $value \n";
72      $result = posix_getpwuid($value);
73      if ((is_array($result) && (count($result) == 7))
74          ||
75          ($result === false)) {
76          echo "valid output\n";
77      } else {
78          var_dump($result);
79      }
80};
81
82echo "Done";
83?>
84--EXPECTF--
85*** Testing posix_getpwuid() : usage variations ***
86
87Notice: Undefined variable: undefined_var in %s on line %d
88
89Notice: Undefined variable: unset_var in %s on line %d
90
91Arg value 10.5
92valid output
93
94Arg value -10.5
95valid output
96
97Arg value 101234567000
98valid output
99
100Arg value 1.07654321E-9
101valid output
102
103Arg value 0.5
104valid output
105
106Arg value Array
107
108Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d
109valid output
110
111Arg value Array
112
113Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d
114valid output
115
116Arg value Array
117
118Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d
119valid output
120
121Arg value Array
122
123Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d
124valid output
125
126Arg value Array
127
128Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d
129valid output
130
131Arg value
132valid output
133
134Arg value
135valid output
136
137Arg value 1
138valid output
139
140Arg value
141valid output
142
143Arg value 1
144valid output
145
146Arg value
147valid output
148
149Arg value
150
151Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d
152valid output
153
154Arg value
155
156Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d
157valid output
158
159Arg value string
160
161Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d
162valid output
163
164Arg value string
165
166Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d
167valid output
168
169Arg value
170valid output
171
172Arg value
173valid output
174
175Catchable fatal error: Object of class stdClass could not be converted to string in %s on line %d
176