1--TEST--
2Test curl_version() function : usage variations - test values for $ascii argument
3--SKIPIF--
4<?php if (!extension_loaded("curl")) exit("skip curl extension not loaded");
5if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
6--FILE--
7<?php
8
9/* Prototype  : array curl_version  ([ int $age  ] )
10 * Description: Returns information about the cURL version.
11 * Source code: ext/curl/interface.c
12*/
13
14echo "*** Testing curl_version() function: with unexpected inputs for 'age' argument ***\n";
15
16//get an unset variable
17$unset_var = 'string_val';
18unset($unset_var);
19
20//defining a class
21class sample  {
22  public function __toString() {
23    return "sample object";
24  }
25}
26
27//getting the resource
28$file_handle = fopen(__FILE__, "r");
29
30// array with different values for $input
31$inputs =  array (
32
33  // integer values
34  0,
35  1,
36  255,
37  256,
38  PHP_INT_MAX,
39  -PHP_INT_MAX,
40
41  // float values
42  10.5,
43  -20.5,
44  10.1234567e10,
45
46  // array values
47  array(),
48  array(0),
49  array(1, 2),
50
51  //string values
52  "ABC",
53  'abc',
54  "2abc",
55
56  // boolean values
57  true,
58  false,
59  TRUE,
60  FALSE,
61
62  // null values
63  NULL,
64  null,
65
66  // objects
67  new sample(),
68
69  // resource
70  $file_handle,
71
72  // undefined variable
73  @$undefined_var,
74
75  // unset variable
76  @$unset_var
77);
78
79// loop through with each element of the $inputs array to test curl_version() function
80$count = 1;
81foreach($inputs as $input) {
82  echo "-- Iteration $count --\n";
83  var_dump( is_array(curl_version($input)) );
84  $count ++;
85}
86
87fclose($file_handle);  //closing the file handle
88
89?>
90===Done===
91--EXPECTF--
92*** Testing curl_version() function: with unexpected inputs for 'age' argument ***
93-- Iteration 1 --
94bool(true)
95-- Iteration 2 --
96bool(true)
97-- Iteration 3 --
98bool(true)
99-- Iteration 4 --
100bool(true)
101-- Iteration 5 --
102bool(true)
103-- Iteration 6 --
104bool(true)
105-- Iteration 7 --
106bool(true)
107-- Iteration 8 --
108bool(true)
109-- Iteration 9 --
110bool(true)
111-- Iteration 10 --
112
113Warning: curl_version() expects parameter 1 to be int, array given in %s on line %d
114bool(false)
115-- Iteration 11 --
116
117Warning: curl_version() expects parameter 1 to be int, array given in %s on line %d
118bool(false)
119-- Iteration 12 --
120
121Warning: curl_version() expects parameter 1 to be int, array given in %s on line %d
122bool(false)
123-- Iteration 13 --
124
125Warning: curl_version() expects parameter 1 to be int, string given in %s on line %d
126bool(false)
127-- Iteration 14 --
128
129Warning: curl_version() expects parameter 1 to be int, string given in %s on line %d
130bool(false)
131-- Iteration 15 --
132
133Notice: A non well formed numeric value encountered in %s on line %d
134bool(true)
135-- Iteration 16 --
136bool(true)
137-- Iteration 17 --
138bool(true)
139-- Iteration 18 --
140bool(true)
141-- Iteration 19 --
142bool(true)
143-- Iteration 20 --
144bool(true)
145-- Iteration 21 --
146bool(true)
147-- Iteration 22 --
148
149Warning: curl_version() expects parameter 1 to be int, object given in %s on line %d
150bool(false)
151-- Iteration 23 --
152
153Warning: curl_version() expects parameter 1 to be int, resource given in %s on line %d
154bool(false)
155-- Iteration 24 --
156bool(true)
157-- Iteration 25 --
158bool(true)
159===Done===
160