0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-23 12:41:53 +00:00
Commit Graph

89 Commits

Author SHA1 Message Date
Stefan Siegl
7ac12c4fbd Unwind stack after fatal error in V8Function, closes #130 2014-12-09 22:40:53 +01:00
Stefan Siegl
2252169a98 Use isolate->RequestInterrupt to get heap size 2014-12-09 01:08:16 +01:00
Stefan Siegl
0004626015 Make time limit tests pass more safely 2014-12-09 01:06:46 +01:00
Stefan Siegl
b6fb9acc65 Remove set_memory_limit_002 test
The test is unfortunately unstable as it somehow depends on CPU speed.
v8 seems to precompute the result even so it hasn't reached the for
loop consuming the memory.

This can be proved easily by adding a sleep(1) call at the start of the
prolongTimeLimit function.  Then the memory limit is always tripped
even so v8 didn't have to do much until there
2014-12-07 16:52:10 +01:00
Stefan Siegl
e85b095282 Add test showing that time limits can be prolonged 2014-12-07 16:44:54 +01:00
Stefan Siegl
c17208c9c0 Allow to impose memory & time limits 2014-12-07 16:44:54 +01:00
Stefan Siegl
8945357d76 Allow to change & reset memory limits 2014-12-07 16:44:52 +01:00
Stefan Siegl
daf8788e0f Allow to change & reset time limits 2014-12-07 16:05:58 +01:00
Stefan Siegl
2a1ae43496 Use prologues for V8Function calls, closes #129 2014-12-07 15:19:47 +01:00
Stefan Siegl
3a1f3e5237 Add setMemoryLimit & setTimeLimit setter methods 2014-12-07 13:25:52 +01:00
Stefan Siegl
0023c03280 Use v8::TryCatch if calling V8Function, refs #127 2014-12-01 22:12:22 +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
Stefan Siegl
fd801631b7 Add null-byte passing test, make var_dump null-byte safe, closes #80 2014-03-23 00:28:53 +01:00
Stefan Siegl
ddbef50ea6 Merge remote-tracking branch 'rosmo/master' 2014-03-22 18:44:13 +01:00