55 lines
790 B
JavaScript
55 lines
790 B
JavaScript
description(
|
|
"This test checks that variable declarations with initializers inside of catch and with blocks do not set values in a deeper scope."
|
|
);
|
|
|
|
function catchTest() {
|
|
var e = "foo";
|
|
|
|
try {
|
|
throw "bar";
|
|
} catch (e) {
|
|
var e = "baz";
|
|
}
|
|
|
|
return e;
|
|
}
|
|
|
|
function catchTest2() {
|
|
var e = "foo";
|
|
|
|
try {
|
|
throw "bar";
|
|
} catch (e) {
|
|
var e = "baz";
|
|
|
|
return e;
|
|
}
|
|
}
|
|
|
|
function withTest() {
|
|
var e = "foo"
|
|
var object = { 'e' : "bar" };
|
|
|
|
with (object) {
|
|
var e = "baz";
|
|
}
|
|
|
|
return e;
|
|
}
|
|
|
|
function withTest2() {
|
|
var e = "foo"
|
|
var object = { 'e' : "bar" };
|
|
|
|
with (object) {
|
|
var e = "baz";
|
|
|
|
return e;
|
|
}
|
|
}
|
|
|
|
shouldBe("catchTest()", "'foo'");
|
|
shouldBe("catchTest2()", "'baz'");
|
|
shouldBe("withTest()", "'foo'");
|
|
shouldBe("withTest2()", "'baz'");
|