// Copyright (C) 2016 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- es6id: 13.12.11 description: Completion value when no cases match info: > SwitchStatement : switch ( Expression ) CaseBlock [...] 8. Let R be the result of performing CaseBlockEvaluation of CaseBlock with argument switchValue. 9. Set the running execution context’s LexicalEnvironment to oldEnv. 10. Return R. 13.12.9 Runtime Semantics: CaseBlockEvaluation CaseBlock : { CaseClauses } 1. Let V = undefined. 2. Let A be the List of CaseClause items in CaseClauses, in source text order. 3. Let found be false. 4. Repeat for each CaseClause C in A, a. If found is false, then i. Let clauseSelector be the result of CaseSelectorEvaluation of C. ii. If clauseSelector is an abrupt completion, then [...] iii. Let found be the result of performing Strict Equality Comparison input === clauseSelector.[[value]]. b. If found is true, then [...] 5. Return NormalCompletion(V). ---*/ assert.sameValue( eval('1; switch ("a") { case null: }'), undefined, 'empty StatementList' ); assert.sameValue( eval('2; switch ("a") { case null: 3; }'), undefined, 'non-empty StatementList' );