Author: bernhard
Date: Fri Aug 15 04:29:49 2008
New Revision: 30249
Modified:
trunk/languages/pipp/src/common/php_builtin.pir
trunk/languages/pipp/src/common/php_var.pir
trunk/languages/pipp/t/php/builtin.t
Log:
[Pipp] Add impl of extension_loaded(), that always returns false.
Add var_dump() for booleans.
Modified: trunk/languages/pipp/src/common/php_builtin.pir
==============================================================================
--- trunk/languages/pipp/src/common/php_builtin.pir (original)
+++ trunk/languages/pipp/src/common/php_builtin.pir Fri Aug 15 04:29:49 2008
@@ -170,14 +170,13 @@
=item C<bool extension_loaded(string extension_name)>
-Returns true if the named extension is loaded
-
-NOT IMPLEMENTED.
+Returns true if the named extension is loaded.
+As currently no extensions are supported, this function always returns false.
=cut
.sub 'extension_loaded'
- not_implemented()
+ .RETURN_BOOL(0)
.end
=item C<mixed func_get_arg(int arg_num)>
Modified: trunk/languages/pipp/src/common/php_var.pir
==============================================================================
--- trunk/languages/pipp/src/common/php_var.pir (original)
+++ trunk/languages/pipp/src/common/php_var.pir Fri Aug 15 04:29:49 2008
@@ -157,6 +157,20 @@
not_a_integer:
+ ne type_of_pmc, 'boolean', not_a_bool
+
+ print 'bool('
+ if a goto a_is_true
+ print 'false'
+ say ')'
+ .return()
+a_is_true:
+ print 'true'
+ say ')'
+ .return()
+
+not_a_bool:
+
_dumper(a)
.return()
Modified: trunk/languages/pipp/t/php/builtin.t
==============================================================================
--- trunk/languages/pipp/t/php/builtin.t (original)
+++ trunk/languages/pipp/t/php/builtin.t Fri Aug 15 04:29:49 2008
@@ -25,7 +25,7 @@
use FindBin;
use lib "$FindBin::Bin/../../lib";
-use Test::More tests => 7;
+use Test::More tests => 9;
use Parrot::Test;
@@ -92,6 +92,22 @@
/Wrong parameter count for strlen\(\)/
OUTPUT
+language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'extension_loaded() returns
FALSE, echo' );
+<?php
+ echo extension_loaded("asdf");
+?>
+CODE
+OUTPUT
+
+
+language_output_is( 'Pipp', <<'CODE', <<'OUTPUT', 'extension_loaded() returns
FALSE, var_dump' );
+<?php
+ var_dump( extension_loaded("asdf") );
+?>
+CODE
+bool(false)
+OUTPUT
+
# Local Variables:
# mode: cperl