2 # Copyright (C) 2008, The Perl Foundation.
7 t/php/type.t - Standard Library type
11 % perl -I../lib pipp/t/php/type.t
15 Tests PHP Standard Library type
16 (implemented in F<languages/pipp/src/common/php_type.pir>).
18 See L<http://www.php.net/manual/en/ref.var.php>.
26 use lib "$FindBin::Bin/../../lib";
28 use Test::More tests => 18;
31 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'floatval()' );
33 echo floatval(TRUE), "\n";
34 echo floatval(NULL), "\n";
35 echo floatval(3), "\n";
36 echo floatval('3.14'), "\n";
37 echo floatval(' 3.14'), "\n";
38 echo floatval(' 3.14 '), "\n";
39 echo floatval('str'), "\n";
51 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'gettype(TRUE)' );
53 echo gettype(TRUE), "\n";
59 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'gettype(NULL)' );
61 echo gettype(NULL), "\n";
67 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'gettype(42)' );
69 echo gettype(42), "\n";
75 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'gettype(3.14)' );
77 echo gettype(3.14), "\n";
83 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'gettype("str")' );
85 echo gettype('str'), "\n";
91 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'gettype($array)' );
93 $hello['world'] = 'hi';
94 echo gettype($hello), "\n";
101 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'intval()' );
103 echo intval(TRUE), "\n";
104 echo intval(NULL), "\n";
105 echo intval(3.14), "\n";
106 echo intval(3), "\n";
107 echo intval('3'), "\n";
108 echo intval('0x03'), "\n";
109 echo intval('3.14'), "\n";
110 echo intval(' 3'), "\n";
111 echo intval(' 3 '), "\n";
112 echo intval('str'), "\n";
127 language_output_like( 'Pipp', <<'CODE', <<'OUTPUT', 'is_bool() no args' );
129 echo is_bool(), "\n";
132 /Only one argument expected/
135 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_bool(TRUE)' );
137 echo is_bool(TRUE), "\n";
143 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_float(3.14)' );
145 echo is_float(3.14), "\n";
151 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_long(42)' );
153 echo is_long(42), "\n";
159 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_null(NULL)' );
161 echo is_null(NULL), "\n";
167 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_numeric()' );
169 echo is_numeric(3), "\n";
170 echo is_numeric(3.14), "\n";
171 echo is_numeric(NULL), "\n";
172 echo is_numeric(TRUE), "\n";
173 echo is_numeric('3'), "\n";
174 echo is_numeric('0x03'), "\n";
175 echo is_numeric('3.14'), "\n";
176 echo is_numeric(' 3'), "\n";
177 echo is_numeric(' 3 '), "\n";
178 echo is_numeric(' string '), "\n";
193 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_scalar()' );
195 echo is_scalar(NULL), "\n";
196 echo is_scalar(TRUE), "\n";
197 echo is_scalar(3.14), "\n";
198 echo is_scalar(42), "\n";
199 echo is_scalar('str'), "\n";
209 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'is_string("str")' );
211 echo is_string('str'), "\n";
219 local $TODO = 'update compiler';
221 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'settype()' );
224 echo settype($var, 'int'), "\n";
234 language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'strval(TRUE)' );
236 echo strval(TRUE), "\n";
245 # cperl-indent-level: 4
248 # vim: expandtab shiftwidth=4: