long.phpt 876 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. Test V8::executeString() : Check long integer handling from PHP to JS
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $v8 = new V8Js();
  8. $v8->long = pow(2, 31);
  9. try {
  10. $v8->executeString('print(PHP.long); print("\n");');
  11. } catch (V8JsScriptException $e) {
  12. var_dump($e->getMessage());
  13. }
  14. $v8->long = pow(2, 31) + 1;
  15. try {
  16. $v8->executeString('print(PHP.long); print("\n");');
  17. } catch (V8JsScriptException $e) {
  18. var_dump($e->getMessage());
  19. }
  20. $v8->long = -pow(2, 31);
  21. try {
  22. $v8->executeString('print(PHP.long); print("\n");');
  23. } catch (V8JsScriptException $e) {
  24. var_dump($e->getMessage());
  25. }
  26. $v8->long = -pow(2, 31) - 1;
  27. try {
  28. $v8->executeString('print(PHP.long); print("\n");');
  29. } catch (V8JsScriptException $e) {
  30. var_dump($e->getMessage());
  31. }
  32. ?>
  33. ===EOF===
  34. --EXPECT--
  35. 2147483648
  36. 2147483649
  37. -2147483648
  38. -2147483649
  39. ===EOF===