diff options
Diffstat (limited to 'js/src/tests/ecma_6/Class/bytecodePatternMatching.js')
-rw-r--r-- | js/src/tests/ecma_6/Class/bytecodePatternMatching.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Class/bytecodePatternMatching.js b/js/src/tests/ecma_6/Class/bytecodePatternMatching.js new file mode 100644 index 000000000..446184f80 --- /dev/null +++ b/js/src/tests/ecma_6/Class/bytecodePatternMatching.js @@ -0,0 +1,29 @@ +// Constructors can't be called so we can't pattern match +// them in replace and sort. +function a() { + var b = {a: "A"}; + + class X { + constructor(a) { + return b[a] + } + }; + + assertThrowsInstanceOf(() => "a".replace(/a/, X), TypeError); +} + +function b() { + class X { + constructor(x, y) { + return x - y; + } + } + + assertThrowsInstanceOf(() => [1, 2, 3].sort(X), TypeError); +} + +a(); +b(); + +if (typeof reportCompare === "function") + reportCompare(0, 0, "OK"); |