Index: test/mjsunit/const-eval-init.js |
diff --git a/test/mjsunit/const-eval-init.js b/test/mjsunit/const-eval-init.js |
index d3503845d0c159f106fe7a68e95d41f14105413e..50e3a8d0be2aee31eb024d8020fe64473b75386b 100644 |
--- a/test/mjsunit/const-eval-init.js |
+++ b/test/mjsunit/const-eval-init.js |
@@ -36,29 +36,29 @@ function testIntroduceGlobal() { |
var source = |
// Deleting 'x' removes the local const property. |
"delete x;" + |
- // Initialization turns into assignment to global 'x'. |
+ // Initialization redefines global 'x'. |
"const x = 3; assertEquals(3, x);" + |
- // No constness of the global 'x'. |
- "x = 4; assertEquals(4, x);"; |
+ // Test constness of the global 'x'. |
+ "x = 4; assertEquals(3, x);"; |
eval(source); |
} |
testIntroduceGlobal(); |
-assertEquals(4, x); |
+assertEquals("undefined", typeof x); |
function testAssignExistingGlobal() { |
var source = |
// Delete 'x' to remove the local const property. |
"delete x;" + |
- // Initialization turns into assignment to global 'x'. |
+ // Initialization redefines global 'x'. |
"const x = 5; assertEquals(5, x);" + |
- // No constness of the global 'x'. |
- "x = 6; assertEquals(6, x);"; |
+ // Test constness of the global 'x'. |
+ "x = 6; assertEquals(5, x);"; |
eval(source); |
} |
testAssignExistingGlobal(); |
-assertEquals(6, x); |
+assertEquals("undefined", typeof x); |
function testAssignmentArgument(x) { |
function local() { |
@@ -66,7 +66,7 @@ function testAssignmentArgument(x) { |
eval(source); |
} |
local(); |
- assertEquals(7, x); |
+ assertEquals("undefined", typeof x); |
} |
for (var i = 0; i < 5; i++) { |
@@ -74,17 +74,18 @@ for (var i = 0; i < 5; i++) { |
} |
%OptimizeFunctionOnNextCall(testAssignmentArgument); |
testAssignmentArgument(); |
-assertEquals(6, x); |
+assertEquals("undefined", typeof x); |
__defineSetter__('x', function() { throw 42; }); |
-function testAssignGlobalThrows() { |
- // Initialization turns into assignment to global 'x' which |
- // throws an exception. |
- var source = "delete x; const x = 8"; |
+var finished = false; |
+function testRedefineGlobal() { |
+ // Initialization redefines global 'x'. |
+ var source = "delete x; const x = 8; finished = true;"; |
eval(source); |
} |
-assertThrows("testAssignGlobalThrows()"); |
+testRedefineGlobal(); |
+assertTrue(finished); |
function testInitFastCaseExtension() { |
var source = "const x = 9; assertEquals(9, x); x = 10; assertEquals(9, x)"; |
@@ -111,7 +112,7 @@ function testAssignSurroundingContextSlot() { |
eval(source); |
} |
local(); |
- assertEquals(13, x); |
+ assertEquals(12, x); |
} |
testAssignSurroundingContextSlot(); |