summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/language/global-code/switch-case-global-existing-fn-no-init.js
blob: 7265812f54e6ffd289389c85fee29a127ff72482 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// This file was procedurally generated from the following sources:
// - src/annex-b-fns/global-existing-fn-no-init.case
// - src/annex-b-fns/global/switch-case.template
/*---
description: Existing variable binding is not modified (Function declaration in the `case` clause of a `switch` statement in the global scope)
esid: sec-web-compat-globaldeclarationinstantiation
flags: [generated, noStrict]
info: |
    B.3.3.2 Changes to GlobalDeclarationInstantiation

    [...]
    1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(F).
    2. If fnDefinable is true, then
---*/
assert.sameValue(f(), 'outer declaration');

switch (1) {
  case 1:
    function f() { return 'inner declaration'; }
}

function f() {
  return 'outer declaration';
}

reportCompare(0, 0);