diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /js/src/tests/js1_8_1/extensions/strict-warning.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'js/src/tests/js1_8_1/extensions/strict-warning.js')
-rw-r--r-- | js/src/tests/js1_8_1/extensions/strict-warning.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/tests/js1_8_1/extensions/strict-warning.js b/js/src/tests/js1_8_1/extensions/strict-warning.js new file mode 100644 index 000000000..b5a37ea70 --- /dev/null +++ b/js/src/tests/js1_8_1/extensions/strict-warning.js @@ -0,0 +1,32 @@ +// Turn on strict mode and warnings-as-errors mode. +if (options().split().indexOf('strict') == -1) + options('strict'); +if (options().split().indexOf('werror') == -1) + options('werror'); + +function expectSyntaxError(stmt) { + print(stmt); + var result = 'no error'; + try { + Function(stmt); + } catch (exc) { + result = exc.constructor.name; + } + assertEq(result, 'SyntaxError'); +} + +function test(expr) { + // Without extra parentheses, expect an error. + expectSyntaxError('if (' + expr + ') {};'); + + // Extra parentheses silence the warning/error. + Function('if ((' + expr + ')) {};'); +} + +// Overparenthesized assignment in a condition should not be a strict error. +test('a = 0'); +test('a = (f(), g)'); +test('a = b || c > d'); +expectSyntaxError('if (a == 0);'); +reportCompare('passed', 'passed', 'Overparenthesized assignment in a condition should not be a strict error.'); + |