v8/test/mjsunit/regress/regress-4377.js

46 lines
812 B
JavaScript
Raw Normal View History

// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// See: http://code.google.com/p/v8/issues/detail?id=4377
// Switch statements should introduce their own lexical scope
'use strict';
switch (1) { case 1: let x = 2; }
assertThrows(function() { return x; }, ReferenceError);
{
let result;
let x = 1;
switch (x) {
case 1:
let x = 2;
result = x;
break;
default:
result = 0;
break;
}
assertEquals(1, x);
assertEquals(2, result);
}
{
let result;
let x = 1;
switch (eval('x')) {
case 1:
let x = 2;
result = x;
break;
default:
result = 0;
break;
}
assertEquals(1, x);
assertEquals(2, result);
}