/js/src/jit-test/tests/debug/resumption-05.js

http://github.com/zpao/v8monkey · JavaScript · 36 lines · 28 code · 4 blank · 4 comment · 2 complexity · eba6093cc75a80eee4a3cc716d4e549b MD5 · raw file

  1. // |jit-test| debug
  2. // null resumption value means terminate the debuggee
  3. var g = newGlobal('new-compartment');
  4. g.debuggeeGlobal = this;
  5. g.eval("(" + function () {
  6. var dbg = new Debugger(debuggeeGlobal);
  7. dbg.onDebuggerStatement = function (frame) {
  8. if (frame.callee === null) {
  9. // The first debugger statement below.
  10. debuggeeGlobal.log += "1";
  11. var cv = frame.eval("f();");
  12. assertEq(cv, null);
  13. debuggeeGlobal.log += "2";
  14. } else {
  15. // The second debugger statement.
  16. debuggeeGlobal.log += "3";
  17. assertEq(frame.callee.name, "f");
  18. return null;
  19. }
  20. };
  21. } + ")()");
  22. var log = "";
  23. debugger;
  24. function f() {
  25. log += "4";
  26. try {
  27. debugger; // the debugger terminates us here
  28. } finally {
  29. log += "5"; // this should not execute
  30. }
  31. }
  32. assertEq(log, "1432");