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

Reply via email to