| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- --TEST--
 
- Test V8::executeString() : property_exists/isset/empty on wrapped JS objects
 
- --SKIPIF--
 
- <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
 
- --FILE--
 
- <?php
 
- $v8 = new V8Js();
 
- $JS = <<< EOT
 
- (function(exports) {
 
-   // begin module code
 
-   exports.hello = function() { return 'hello'; };
 
-   exports.isnull = null;
 
-   exports.isundefined = undefined;
 
-   exports.isfalse = false;
 
-   exports.iszero = 0;
 
-   exports.isquotezero = '0';
 
-   exports.isemptyarray = [];
 
-   exports.isemptystring = '';
 
-   exports.istrue = true;
 
-   // end module code
 
-   return exports;
 
- })({})
 
- EOT;
 
- $exports = $v8->executeString($JS, 'basic.js');
 
- echo "= isset() =\n";
 
- echo "bogus:         "; var_dump(isset( $exports->bogus ));
 
- echo "hello:         "; var_dump(isset( $exports->hello ));
 
- echo "isnull:        "; var_dump(isset( $exports->isnull ));
 
- echo "isundefined:   "; var_dump(isset( $exports->isundefined ));
 
- echo "isfalse:       "; var_dump(isset( $exports->isfalse ));
 
- echo "iszero:        "; var_dump(isset( $exports->iszero ));
 
- echo "isquotezero:   "; var_dump(isset( $exports->isquotezero ));
 
- echo "isemptyarray:  "; var_dump(isset( $exports->isemptyarray ));
 
- echo "isemptystring: "; var_dump(isset( $exports->isemptystring ));
 
- echo "istrue:        "; var_dump(isset( $exports->istrue ));
 
- echo "\n";
 
- echo "= empty() =\n";
 
- echo "bogus:         "; var_dump(empty( $exports->bogus ));
 
- echo "hello:         "; var_dump(empty( $exports->hello ));
 
- echo "isnull:        "; var_dump(empty( $exports->isnull ));
 
- echo "isundefined:   "; var_dump(empty( $exports->isundefined ));
 
- echo "isfalse:       "; var_dump(empty( $exports->isfalse ));
 
- echo "iszero:        "; var_dump(empty( $exports->iszero ));
 
- echo "isquotezero:   "; var_dump(empty( $exports->isquotezero ));
 
- echo "isemptyarray:  "; var_dump(empty( $exports->isemptyarray ));
 
- echo "isemptystring: "; var_dump(empty( $exports->isemptystring ));
 
- echo "istrue:        "; var_dump(empty( $exports->istrue ));
 
- echo "\n";
 
- echo "= property_exists() =\n";
 
- echo "bogus:         "; var_dump(property_exists( $exports, 'bogus' ));
 
- echo "hello:         "; var_dump(property_exists( $exports, 'hello' ));
 
- echo "isnull:        "; var_dump(property_exists( $exports, 'isnull' ));
 
- echo "isundefined:   "; var_dump(property_exists( $exports, 'isundefined' ));
 
- echo "isfalse:       "; var_dump(property_exists( $exports, 'isfalse' ));
 
- echo "iszero:        "; var_dump(property_exists( $exports, 'iszero' ));
 
- echo "isquotezero:   "; var_dump(property_exists( $exports, 'isquotezero' ));
 
- echo "isemptyarray:  "; var_dump(property_exists( $exports, 'isemptyarray' ));
 
- echo "isemptystring: "; var_dump(property_exists( $exports, 'isemptystring' ));
 
- echo "istrue:        "; var_dump(property_exists( $exports, 'istrue' ));
 
- echo "\n";
 
- ?>
 
- ===EOF===
 
- --EXPECT--
 
- = isset() =
 
- bogus:         bool(false)
 
- hello:         bool(true)
 
- isnull:        bool(false)
 
- isundefined:   bool(false)
 
- isfalse:       bool(true)
 
- iszero:        bool(true)
 
- isquotezero:   bool(true)
 
- isemptyarray:  bool(true)
 
- isemptystring: bool(true)
 
- istrue:        bool(true)
 
- = empty() =
 
- bogus:         bool(true)
 
- hello:         bool(false)
 
- isnull:        bool(true)
 
- isundefined:   bool(true)
 
- isfalse:       bool(true)
 
- iszero:        bool(true)
 
- isquotezero:   bool(true)
 
- isemptyarray:  bool(true)
 
- isemptystring: bool(true)
 
- istrue:        bool(false)
 
- = property_exists() =
 
- bogus:         bool(false)
 
- hello:         bool(true)
 
- isnull:        bool(true)
 
- isundefined:   bool(true)
 
- isfalse:       bool(true)
 
- iszero:        bool(true)
 
- isquotezero:   bool(true)
 
- isemptyarray:  bool(true)
 
- isemptystring: bool(true)
 
- istrue:        bool(true)
 
- ===EOF===
 
 
  |