long_int64.phpt 769 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Test V8::executeString() : Check long 64-bit export from PHP to JS
  3. --SKIPIF--
  4. <?php
  5. require_once(dirname(__FILE__) . '/skipif.inc');
  6. if (4 == PHP_INT_SIZE)
  7. die("SKIP test not supported on 32bit PHP");
  8. ?>
  9. --FILE--
  10. <?php
  11. $addInt = function ($a, $b) {
  12. return $a + $b;
  13. };
  14. $v8 = new V8Js('PHP');
  15. $v8->add = $addInt;
  16. $v8->p1 = 10;
  17. $v8->p2 = pow(2,45);
  18. var_dump($v8->p2);
  19. var_dump($v8->executeString('
  20. var res = PHP.p1 + PHP.p2;
  21. "p1:" + PHP.p1 +
  22. ", p2:" + PHP.p2 +
  23. ", PHP.add(p1,p2)=" + PHP.add(PHP.p1, PHP.p2) +
  24. ", p1+p2=" + res +
  25. " -> " + (new Date(res)).toISOString();
  26. '));
  27. ?>
  28. ===EOF===
  29. --EXPECT--
  30. int(35184372088832)
  31. string(105) "p1:10, p2:35184372088832, PHP.add(p1,p2)=35184372088842, p1+p2=35184372088842 -> 3084-12-12T12:41:28.842Z"
  32. ===EOF===