0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-11-14 17:38:42 +00:00
phpv8/tests/property_exists.phpt

108 lines
3.5 KiB
Plaintext
Raw Normal View History

--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===