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.

