Index: test/mjsunit/debug-scopes.js |
diff --git a/test/mjsunit/debug-scopes.js b/test/mjsunit/debug-scopes.js |
index 1c23b0bf998e777334d9d767bdc860c601e855e6..0788a55b0eb33dbf6c7fe5f4a2fc803d55ce5744 100644 |
--- a/test/mjsunit/debug-scopes.js |
+++ b/test/mjsunit/debug-scopes.js |
@@ -1,4 +1,4 @@ |
-// Copyright 2008 the V8 project authors. All rights reserved. |
+// Copyright 2011 the V8 project authors. All rights reserved. |
// Redistribution and use in source and binary forms, with or without |
// modification, are permitted provided that the following conditions are |
// met: |
@@ -25,7 +25,7 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-// Flags: --expose-debug-as debug |
+// Flags: --expose-debug-as debug --allow-natives-syntax |
// The functions used for testing backtraces. They are at the top to make the |
// testing of source line/column easier. |
@@ -439,6 +439,26 @@ with(with_object) { |
EndTest(); |
+// With block in function that is marked for optimization while being executed. |
+BeginTest("With 7"); |
+ |
+function with_7() { |
+ with({}) { |
+ %OptimizeFunctionOnNextCall(with_7); |
+ debugger; |
+ } |
+} |
+ |
+listener_delegate = function(exec_state) { |
+ CheckScopeChain([debug.ScopeType.With, |
+ debug.ScopeType.Local, |
+ debug.ScopeType.Global], exec_state); |
+ CheckScopeContent({}, 0, exec_state); |
+}; |
+with_7(); |
+EndTest(); |
+ |
+ |
// Simple closure formed by returning an inner function referering the outer |
// functions arguments. |
BeginTest("Closure 1"); |
@@ -950,6 +970,28 @@ try { |
EndTest(); |
+// Catch block in function that is marked for optimization while being executed. |
+BeginTest("Catch block 7"); |
+function catch_block_7() { |
+ %OptimizeFunctionOnNextCall(catch_block_7); |
+ try { |
+ throw 'Exception'; |
+ } catch (e) { |
+ debugger; |
+ } |
+}; |
+ |
+ |
+listener_delegate = function(exec_state) { |
+ CheckScopeChain([debug.ScopeType.Catch, |
+ debug.ScopeType.Local, |
+ debug.ScopeType.Global], exec_state); |
+ CheckScopeContent({e:'Exception'}, 0, exec_state); |
+}; |
+catch_block_7(); |
+EndTest(); |
+ |
+ |
assertEquals(begin_test_count, break_count, |
'one or more tests did not enter the debugger'); |
assertEquals(begin_test_count, end_test_count, |