serialize_001.phpt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --TEST--
  2. Test serialize(V8Object) : __sleep and __wakeup throw
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $v8 = new V8Js();
  8. $obj = $v8->executeString('({ foo: 23 })');
  9. var_dump($obj);
  10. try {
  11. $stored = serialize($obj);
  12. }
  13. catch(\V8JsException $e) {
  14. var_dump(get_class($e));
  15. var_dump($e->getMessage());
  16. }
  17. $stored = 'O:8:"V8Object":0:{}';
  18. try {
  19. $obj2 = unserialize($stored);
  20. }
  21. catch(\V8JsException $e) {
  22. var_dump(get_class($e));
  23. var_dump($e->getMessage());
  24. }
  25. var_dump(isset($obj2));
  26. $stored = 'O:8:"V8Object":1:{s:3:"foo";i:23;}';
  27. try {
  28. $obj = unserialize($stored);
  29. }
  30. catch(\V8JsException $e) {
  31. var_dump(get_class($e));
  32. var_dump($e->getMessage());
  33. }
  34. var_dump(isset($obj3));
  35. ?>
  36. ===EOF===
  37. --EXPECT--
  38. object(V8Object)#2 (1) {
  39. ["foo"]=>
  40. int(23)
  41. }
  42. string(13) "V8JsException"
  43. string(54) "You cannot serialize or unserialize V8Object instances"
  44. string(13) "V8JsException"
  45. string(54) "You cannot serialize or unserialize V8Object instances"
  46. bool(false)
  47. string(13) "V8JsException"
  48. string(54) "You cannot serialize or unserialize V8Object instances"
  49. bool(false)
  50. ===EOF===