summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/language/statements/switch/emulates-undefined.js
blob: a0452c5454cb18bacca6981f7ca475c5a577a193 (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
27
28
29
30
31
32
33
// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-runtime-semantics-caseclauseisselected
description: >
  `switch` statement uses Strict Equality Comparison,
  which doesn't special-case [[IsHTMLDDA]] objects.
info: |
  Runtime Semantics: CaseClauseIsSelected ( C, input )

  [...]
  4. Return the result of performing Strict Equality Comparison input === clauseSelector.

  Strict Equality Comparison

  1. If Type(x) is different from Type(y), return false.
features: [IsHTMLDDA]
---*/

var IsHTMLDDA = $262.IsHTMLDDA;

assert.sameValue(
  (function() {
    switch (IsHTMLDDA) {
      case undefined: return 1;
      case null: return 2;
      case IsHTMLDDA: return 3;
    }
  })(),
  3
);

reportCompare(0, 0);