| Checking pause locations when stepping in, out, and over try/catch/finally statements. |
| |
| |
| == Running test suite: Debugger.stepping.try-catch-finally |
| -- Running test case: Debugger.stepping.TryCatchNoError |
| EXPRESSION: setTimeout(entryTryCatchNoError) |
| STEPS: over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryTryCatchNoError:20:5 |
| 16 } |
| 17 |
| 18 function entryTryCatchNoError() { |
| -> 19 |debugger; |
| 20 try { |
| 21 a(); |
| 22 } catch (e) { |
| |
| ACTION: step-over |
| PAUSE AT entryTryCatchNoError:22:9 |
| 18 function entryTryCatchNoError() { |
| 19 debugger; |
| 20 try { |
| -> 21 |a(); |
| 22 } catch (e) { |
| 23 shouldNotBeReached(); |
| 24 } |
| |
| ACTION: step-over |
| PAUSE AT entryTryCatchNoError:26:2 |
| 22 } catch (e) { |
| 23 shouldNotBeReached(); |
| 24 } |
| -> 25 }| |
| 26 |
| 27 function entryTryCatchFinallyNoError() { |
| 28 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.TryCatchFinallyNoError |
| EXPRESSION: setTimeout(entryTryCatchFinallyNoError) |
| STEPS: over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryTryCatchFinallyNoError:29:5 |
| 25 } |
| 26 |
| 27 function entryTryCatchFinallyNoError() { |
| -> 28 |debugger; |
| 29 try { |
| 30 a(); |
| 31 } catch (e) { |
| |
| ACTION: step-over |
| PAUSE AT entryTryCatchFinallyNoError:31:9 |
| 27 function entryTryCatchFinallyNoError() { |
| 28 debugger; |
| 29 try { |
| -> 30 |a(); |
| 31 } catch (e) { |
| 32 shouldNotBeReached(); |
| 33 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryCatchFinallyNoError:35:9 |
| 31 } catch (e) { |
| 32 shouldNotBeReached(); |
| 33 } finally { |
| -> 34 |b(); |
| 35 } |
| 36 } |
| 37 |
| |
| ACTION: step-over |
| PAUSE AT entryTryCatchFinallyNoError:37:2 |
| 33 } finally { |
| 34 b(); |
| 35 } |
| -> 36 }| |
| 37 |
| 38 function entryTryExplicitThrow() { |
| 39 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.TryExplicitThrow.NoPauseOnException |
| EXPRESSION: setTimeout(entryTryExplicitThrow) |
| STEPS: over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryTryExplicitThrow:40:5 |
| 36 } |
| 37 |
| 38 function entryTryExplicitThrow() { |
| -> 39 |debugger; |
| 40 try { |
| 41 throw new Error; |
| 42 } catch (e) { |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:42:9 |
| 38 function entryTryExplicitThrow() { |
| 39 debugger; |
| 40 try { |
| -> 41 |throw new Error; |
| 42 } catch (e) { |
| 43 a(); |
| 44 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:44:9 |
| 40 try { |
| 41 throw new Error; |
| 42 } catch (e) { |
| -> 43 |a(); |
| 44 } finally { |
| 45 b(); |
| 46 } |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:46:9 |
| 42 } catch (e) { |
| 43 a(); |
| 44 } finally { |
| -> 45 |b(); |
| 46 } |
| 47 } |
| 48 |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:48:2 |
| 44 } finally { |
| 45 b(); |
| 46 } |
| -> 47 }| |
| 48 |
| 49 function entryTryRuntimeException() { |
| 50 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.TryExplicitThrow.PauseOnException |
| EXPRESSION: setTimeout(entryTryExplicitThrow) |
| STEPS: over, over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryTryExplicitThrow:40:5 |
| 36 } |
| 37 |
| 38 function entryTryExplicitThrow() { |
| -> 39 |debugger; |
| 40 try { |
| 41 throw new Error; |
| 42 } catch (e) { |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:42:9 |
| 38 function entryTryExplicitThrow() { |
| 39 debugger; |
| 40 try { |
| -> 41 |throw new Error; |
| 42 } catch (e) { |
| 43 a(); |
| 44 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:42:24 |
| 38 function entryTryExplicitThrow() { |
| 39 debugger; |
| 40 try { |
| -> 41 throw new Error|; |
| 42 } catch (e) { |
| 43 a(); |
| 44 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:44:9 |
| 40 try { |
| 41 throw new Error; |
| 42 } catch (e) { |
| -> 43 |a(); |
| 44 } finally { |
| 45 b(); |
| 46 } |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:46:9 |
| 42 } catch (e) { |
| 43 a(); |
| 44 } finally { |
| -> 45 |b(); |
| 46 } |
| 47 } |
| 48 |
| |
| ACTION: step-over |
| PAUSE AT entryTryExplicitThrow:48:2 |
| 44 } finally { |
| 45 b(); |
| 46 } |
| -> 47 }| |
| 48 |
| 49 function entryTryRuntimeException() { |
| 50 debugger; |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.TryRuntimeException.NoPauseOnException |
| EXPRESSION: setTimeout(entryTryRuntimeException) |
| STEPS: over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryTryRuntimeException:51:5 |
| 47 } |
| 48 |
| 49 function entryTryRuntimeException() { |
| -> 50 |debugger; |
| 51 try { |
| 52 [].x.x; |
| 53 } catch (e) { |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:53:9 |
| 49 function entryTryRuntimeException() { |
| 50 debugger; |
| 51 try { |
| -> 52 |[].x.x; |
| 53 } catch (e) { |
| 54 a(); |
| 55 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:55:9 |
| 51 try { |
| 52 [].x.x; |
| 53 } catch (e) { |
| -> 54 |a(); |
| 55 } finally { |
| 56 b(); |
| 57 } |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:57:9 |
| 53 } catch (e) { |
| 54 a(); |
| 55 } finally { |
| -> 56 |b(); |
| 57 } |
| 58 } |
| 59 |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:59:2 |
| 55 } finally { |
| 56 b(); |
| 57 } |
| -> 58 }| |
| 59 |
| 60 function entryTryFinallyNoError() { |
| 61 try { |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |
| -- Running test case: Debugger.stepping.TryRuntimeException.PauseOnException |
| EXPRESSION: setTimeout(entryTryRuntimeException) |
| STEPS: over, over, over, over, over, resume |
| PAUSED (debugger-statement) |
| PAUSE AT entryTryRuntimeException:51:5 |
| 47 } |
| 48 |
| 49 function entryTryRuntimeException() { |
| -> 50 |debugger; |
| 51 try { |
| 52 [].x.x; |
| 53 } catch (e) { |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:53:9 |
| 49 function entryTryRuntimeException() { |
| 50 debugger; |
| 51 try { |
| -> 52 |[].x.x; |
| 53 } catch (e) { |
| 54 a(); |
| 55 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:53:13 |
| 49 function entryTryRuntimeException() { |
| 50 debugger; |
| 51 try { |
| -> 52 [].x|.x; |
| 53 } catch (e) { |
| 54 a(); |
| 55 } finally { |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:55:9 |
| 51 try { |
| 52 [].x.x; |
| 53 } catch (e) { |
| -> 54 |a(); |
| 55 } finally { |
| 56 b(); |
| 57 } |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:57:9 |
| 53 } catch (e) { |
| 54 a(); |
| 55 } finally { |
| -> 56 |b(); |
| 57 } |
| 58 } |
| 59 |
| |
| ACTION: step-over |
| PAUSE AT entryTryRuntimeException:59:2 |
| 55 } finally { |
| 56 b(); |
| 57 } |
| -> 58 }| |
| 59 |
| 60 function entryTryFinallyNoError() { |
| 61 try { |
| |
| ACTION: resume |
| RESUMED |
| PASS: Should have used all steps. |
| |