Stefan Siegl
1b027a525f
Implement delete behaviour on ArrayAccess objects
2014-11-30 22:31:27 +01:00
Stefan Siegl
6399b49b3f
Improve ArrayAccess enumeration
...
When enumerating an ArrayAccess-style object the array keys should be
returned, not the method names & properties of the PHP object.
2014-11-30 21:00:42 +01:00
Stefan Siegl
35350f7642
Test __invoke handling on ArrayAccess objects
2014-11-29 21:34:17 +01:00
Stefan Siegl
d21896ab33
Test export of properties on ArrayAccess object
...
Private & protected properties shouldn't be accessible, also the
length property should not be overwritten by a length property of
the PHP object.
2014-11-29 21:30:44 +01:00
Stefan Siegl
5a11ef2468
Test ArrayAccess prototype method overwriting
...
If the PHP object implementing ArrayAccess has a method,
that has the same name as one of the Array.prototype methods,
the PHP method shall be called, i.e. overwrite the JS method.
2014-11-29 21:28:21 +01:00
Stefan Siegl
b25960786d
Remove count() echo statements
...
These cause the test to fail on old v8 versions like 3.24.10
since the Array.prototype.push implementation calls count() twice
with that version (causing a second echo-line that makes the
test fail).
2014-11-29 20:23:23 +00:00
Stefan Siegl
2b897e8bc4
Export extra methods on ArrayAccess
...
This merges the distinct code path for the export of ArrayAccess
capable PHP objects back into the "common" PHP object export code.
Sole difference is that the ArrayAccess-style object has index
property handlers as well as property bridging to Array.prototype.
2014-11-29 20:35:32 +01:00
Stefan Siegl
5135afa67e
Add ArrayAccess test with native JS push method
2014-11-29 13:41:35 +01:00
Stefan Siegl
1b64a92c8d
Add test on ArrayAccess live binding
2014-11-29 13:25:01 +01:00
Stefan Siegl
1efd91b29a
Add array access offsetSet support
2014-11-25 23:43:21 +01:00
Stefan Siegl
66b42ce080
Add slice call to array_access test
2014-11-25 21:18:00 +01:00
Stefan Siegl
3f6ea8fcfd
Set Array.prototype on ArrayAccess wrapped object
2014-11-23 23:47:29 +01:00
Stefan Siegl
f1dd5ad23b
Add basic ArrayAccess wrapping
2014-11-23 23:39:15 +01:00
Stefan Siegl
6d43ec6dbc
Fix exception_clearing test wrt. column numbers
2014-11-22 18:58:05 +01:00
Stefan Siegl
654a8b8039
Merge branch 'issue-126'
2014-11-22 13:27:26 +01:00
Stefan Siegl
65148db31f
Add StartColumn/EndColumn properties to script exception, closes #126
2014-11-22 12:56:00 +01:00
Stefan Siegl
3ec580aaa3
Add test on clearPendingException
2014-11-22 02:18:32 +01:00
Stefan Siegl
7b435e30dc
Skip tests/timezones on Windows
2014-11-16 23:07:32 +01:00
Stefan Siegl
cd44e72683
Slow down memory_limit test
...
Otherwise the test may execute so fast, that the
watchdog thread, ticking at 10ms currently, is too
slow to detect the memory limit situation.
2014-11-16 20:20:43 +01:00
Stefan Siegl
4e0b500de0
Use directory seperator pattern %e
2014-11-13 21:26:47 +01:00
Stefan Siegl
249aa39418
object_dom test requires DomDocument class
2014-11-13 21:24:22 +01:00
Stefan Siegl
293ca476f0
commonjs_modules test requires json_encode.
2014-11-13 21:14:05 +01:00
Stefan Siegl
8d8aed1e72
Reject V8Function passback to wrong isolate, closes #116
2014-10-31 23:35:28 +00:00
Stefan Siegl
3145ea0323
Set hidden data also on already know weak objects, closes #121
2014-10-30 22:02:13 +00:00
Stefan Siegl
fb4ada80a3
Merge branch 'testcov-php_v8js_v8_write_property'
2014-10-19 18:02:30 +00:00
Stefan Siegl
edc62b5d7d
Merge branch 'testcov-php_v8js_v8_unset_property'
2014-10-19 18:02:23 +00:00
Stefan Siegl
a2604e2749
Add test on php_v8js_v8_unset_property.
2014-10-19 15:15:20 +00:00
Stefan Siegl
f8fc35d4c6
Add test on php_v8js_v8_write_property.
2014-10-19 15:03:29 +00:00
Stefan Siegl
492f87cd5b
Test exception branch of php_v8js_v8_has_property.
2014-10-19 14:48:11 +00:00
Stefan Siegl
16af153c3e
Merge branch 'cscott/issue-64' (ctx_lifecycle test).
...
Test adapted to current behaviour of V8Js, that the situation is
properly handled, but not by keeping objects valid, but by
invalidating all of them.
2014-10-18 20:28:06 +00:00
Stefan Siegl
5a78a76d41
Adapt unwind tests for PHP 5.6 style error messages
...
PHP 5.6 has more detailed error messages, i.e. it says
"on null" instead of "on a non-object". Replaced this
particular part by a %s match to match both possibilities
so the test suite passes on PHP 5.6 as well as older
versions.
2014-09-21 20:34:10 +00:00
Stefan Siegl
edb4679223
Adapt var_dump test new php versions.
...
Newer versions of PHP in 5.4 and 5.5 line add micro seconds
precision to datetime representations.
This adds a regular expression to ignore the .000000 suffix.
2014-09-21 19:49:24 +00:00
Stefan Siegl
c91f96a439
Merge pull request #108 from stesie/fix-commonjs-module-reuse
...
Fix module caching, closes #107
2014-09-20 15:05:31 +02:00
Stefan Siegl
eda74908cc
Fix module caching, closes #107
...
Use v8::Persistent handle to keep module instances around.
Objects cannot be shared between isolates anyhow, hence moved
modules_loaded map from global V8JSG structure to php_v8js_ctx.
Besides fixes a use-after-free on normalised_module_id.
2014-09-19 22:36:27 +00:00
Taneli Leppa
7310c93c1e
Deprecate V8Js::checkString() in favour of compileString() and add tests.
2014-09-16 17:10:15 +03:00
Taneli Leppa
bd7d649d90
Added new functions V8Js::compileString() and V8Js::executeScript().
...
Conflicts:
php_v8js_macros.h
2014-09-16 17:09:58 +03:00
Stefan Siegl
ebcb6dc211
Keep track of V8Object/V8Function instances
...
Disallow access to these once the V8Js object has been destroyed.
2014-08-11 03:11:02 +02:00
Stefan Siegl
50fdfc5c88
Add test on constructor get-accessor.
2014-08-10 13:53:10 +02:00
Stefan Siegl
1d8ae1f458
Test whether error handler is removed correctly, if outermost frame is left
2014-05-23 00:45:08 +02:00
Stefan Siegl
1fc79f8223
Don't restore original error handler when exiting inner frame, refs #94
2014-05-23 00:35:51 +02:00
Stefan Siegl
464cff0477
test unwind behaviour on PHP notices & warnings, refs #94
2014-05-23 00:03:42 +02:00
Stefan Siegl
6f31840daf
Handle fatal errors even if executeString is used recursively
2014-04-13 22:52:38 +02:00
Stefan Siegl
35d8b815f8
Store error message and re-throw with original type & message
2014-04-13 21:46:31 +02:00
Stefan Siegl
956eacb180
Add test on property visibility regarding hasOwnProperty
2014-04-11 20:50:36 +02:00
Stefan Siegl
48feb0bf35
Don't unset non-public properties, just hide them.
...
Before non-public properties were not reset also, trying to
unset them just caused a fatal php error, effectively crashing
the whole script.
2014-04-11 20:42:55 +02:00
Stefan Siegl
aa924a8cb3
Add test on visibility of properties on enumeration
2014-04-11 19:04:05 +02:00
Stefan Siegl
8f200b3905
Call __set if JS accesses private/protected property
2014-04-07 00:53:46 +02:00
Stefan Siegl
53cac1c524
Don't allow JS to overwrite protected/private properties
2014-04-06 23:53:08 +02:00
Stefan Siegl
170b1ff94c
Handle property visibility and __get, refs #79
...
Protected and private properties should not be available
to JS context. Instead call __get function, if the
property is not accessible.
2014-04-06 20:04:48 +02:00
Stefan Siegl
a7d5a0776c
Make datetime_pass.phpt run on PHP 5.3, refs #86
2014-03-23 00:39:45 +01:00