js-construct-basic.phpt 859 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Test V8::executeString() : Test PHP object construction controlled by JavaScript (simple)
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $v8 = new V8Js();
  8. class Greeter {
  9. function sayHello($a) {
  10. echo "Hello $a\n";
  11. }
  12. }
  13. $v8->greeter = new Greeter();
  14. $v8->executeString('
  15. function JsGreeter() { };
  16. JsGreeter.prototype.sayHello = function(a) {
  17. print("Hello " + a + "\n");
  18. };
  19. jsGreeter = new JsGreeter();
  20. jsGreeter.sayHello("Paul");
  21. jsGreeterNg = new jsGreeter.constructor();
  22. jsGreeterNg.sayHello("George");
  23. // ----- now the same using v8Js -----
  24. PHP.greeter.sayHello("John");
  25. var ngGreeter = new PHP.greeter.constructor();
  26. ngGreeter.sayHello("Ringo");
  27. ');
  28. ?>
  29. ===EOF===
  30. --EXPECT--
  31. Hello Paul
  32. Hello George
  33. Hello John
  34. Hello Ringo
  35. ===EOF===