0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-22 19:51:51 +00:00
phpv8/tests
C. Scott Ananian f6a6d1e4b5 Rework JavaScript wrapper for PHP objects.
Use the NamedPropertyHandler feature of v8 to wrap accesses to PHP properties
and methods from JavaScript.  This enables us to support property
set/delete/query.

The `in` and `delete` operators in JavaScript work like the `isset()` and
`unset()` functions in PHP.  In particular, a PHP property with a null
value will not be `in` the JavaScript object. (This holds when enumerating
all properties of an object as well.)

Because JavaScript has a single namespace for both properties and methods,
we allow the use of the `__call` method on a PHP object (even if the
PHP class does not natively define the `__call` magic function) in order
to unambiguously invoke a method.  Similarly, you can prefix a property
name with `$` to unambiguously access the property. (When enumerating all
properties, properties are `$`-prefixed in order to ensure they are not
conflated with method names.)
2013-10-25 16:47:15 -04:00
..
basic.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
callbacks.phpt Initial import 2012-04-27 16:26:15 +00:00
closures_basic.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
closures_dynamic.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
commonjs_modules.phpt Added a test for CommonJS modules. 2013-05-09 23:14:02 +01:00
construct.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
context_preserving.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
context_separation.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
context_temp_creation.phpt Add test for regression pointed out in pull request #14 2013-07-07 23:04:19 +02:00
derived_class_properties_extra.phpt Test export of undeclared properties in derived classes 2013-10-19 02:36:19 +02:00
derived_class_properties_init.phpt Add test on initially initialized properties on V8Js object. 2013-10-19 02:15:37 +02:00
derived_class_properties_protected.phpt Add test on protected & private properties on derived classes 2013-10-19 02:17:10 +02:00
derived_class_properties.phpt Add test from issue #54 2013-10-18 23:57:26 +02:00
exception_propagation_1.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
exception_propagation_2.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
exception_propagation_3.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
exception.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
execute_flags_args.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
execute_flags.phpt Make sure all tests and samples use the new exception class name V8JsScriptException. 2013-04-14 00:36:31 +01:00
extensions_basic.phpt Initial import 2012-04-27 16:26:15 +00:00
extensions_circular_dependency.phpt Initial import 2012-04-27 16:26:15 +00:00
function_call.phpt Create temporary HandleScope to get & call methods likewise, closes #33 2013-10-03 01:15:51 +02:00
function_passback2.phpt Create temporary HandleScope while reading properties 2013-10-03 01:05:03 +02:00
function_passback.phpt Make test PHP 5.3 compatible 2013-10-07 14:55:01 +02:00
get_accessor.phpt Initial import 2012-04-27 16:26:15 +00:00
js-construct-basic.phpt Add tests. 2013-07-12 20:23:12 +02:00
js-construct-direct-call.phpt Handle non-construct call 2013-07-12 20:23:12 +02:00
js-construct-protected-ctor.phpt Throw exception if __construct is not public 2013-07-12 20:23:12 +02:00
js-construct-with-ctor.phpt Add tests. 2013-07-12 20:23:12 +02:00
magic_func.phpt Add a test of PHP magic functions. 2013-10-25 16:47:15 -04:00
memory_limit.phpt fixed tests using absolute urls 2013-05-19 17:56:54 +03:00
multi-object.phpt Add isolate to key of template cache. 2013-10-02 23:38:26 +02:00
multi.phpt Add tests with multiple V8Js instances 2013-09-29 23:46:19 +02:00
object_dom.phpt Add a test for issue 25 (native properties) 2013-10-25 16:47:15 -04:00
object_method_call.phpt Don't re-wrap PHP objects from V8 to V8Object 2013-10-21 20:00:58 +02:00
object_passback.phpt Don't re-wrap PHP objects from V8 to V8Object 2013-10-21 20:00:58 +02:00
object_prototype.phpt Rework JavaScript wrapper for PHP objects. 2013-10-25 16:47:15 -04:00
object_reuse.phpt Initial import 2012-04-27 16:26:15 +00:00
object.phpt Rework JavaScript wrapper for PHP objects. 2013-10-25 16:47:15 -04:00
property_exists.phpt Implement property_exists()/isset()/empty() on wrapped JavaScript objects. 2013-10-05 11:56:42 -04:00
return_value.phpt Unwrap PHP objects when passing them back from JavaScript to PHP. 2013-10-25 14:17:40 -04:00
skipif.inc Initial import 2012-04-27 16:26:15 +00:00
time_limit.phpt fixed tests using absolute urls 2013-05-19 17:56:54 +03:00
var_dump.phpt Rework JavaScript wrapper for PHP objects. 2013-10-25 16:47:15 -04:00
variable_passing.phpt Initial import 2012-04-27 16:26:15 +00:00