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/ecma_3/ExecutionContexts/10.1.4-1.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/ecma_3/ExecutionContexts/10.1.4-1.js')
-rw-r--r-- | js/src/tests/ecma_3/ExecutionContexts/10.1.4-1.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/js/src/tests/ecma_3/ExecutionContexts/10.1.4-1.js b/js/src/tests/ecma_3/ExecutionContexts/10.1.4-1.js new file mode 100644 index 000000000..95cc5b476 --- /dev/null +++ b/js/src/tests/ecma_3/ExecutionContexts/10.1.4-1.js @@ -0,0 +1,49 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +/** + ECMA Section: 10.1.4.1 Entering An Execution Context + ECMA says: + * Global Code, Function Code + Variable instantiation is performed using the global object as the + variable object and using property attributes { DontDelete }. + + * Eval Code + Variable instantiation is performed using the calling context's + variable object and using empty property attributes. +*/ + +var BUGNUMBER = '(none)'; +var summary = '10.1.4.1 Entering An Execution Context'; +var actual = ''; +var expect = ''; + +test(); + +function test() +{ + enterFunc ("test"); + printBugNumber(BUGNUMBER); + printStatus (summary); + + var y; + eval("var x = 1"); + + if (delete y) + reportCompare('PASS', 'FAIL', "Expected *NOT* to be able to delete y"); + + if (typeof x == "undefined") + reportCompare('PASS', 'FAIL', "x did not remain defined after eval()"); + else if (x != 1) + reportCompare('PASS', 'FAIL', "x did not retain it's value after eval()"); + + if (!delete x) + reportCompare('PASS', 'FAIL', "Expected to be able to delete x"); + + reportCompare('PASS', 'PASS', '10.1.4.1 Entering An Execution Context'); + + exitFunc("test"); +} |