From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../Expressions/delete-constant-folded-and-or.js | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 js/src/tests/ecma_6/Expressions/delete-constant-folded-and-or.js (limited to 'js/src/tests/ecma_6/Expressions/delete-constant-folded-and-or.js') diff --git a/js/src/tests/ecma_6/Expressions/delete-constant-folded-and-or.js b/js/src/tests/ecma_6/Expressions/delete-constant-folded-and-or.js new file mode 100644 index 000000000..9576413a6 --- /dev/null +++ b/js/src/tests/ecma_6/Expressions/delete-constant-folded-and-or.js @@ -0,0 +1,41 @@ +// Any copyright is dedicated to the Public Domain. +// http://creativecommons.org/licenses/publicdomain/ + +//----------------------------------------------------------------------------- +var BUGNUMBER = 1183400; +var summary = + "Deletion of a && or || expression that constant-folds to a name must not " + + "attempt to delete the name"; + +print(BUGNUMBER + ": " + summary); + +/************** + * BEGIN TEST * + **************/ + +Object.defineProperty(this, "nonconfigurable", { value: 42 }); +assertEq(nonconfigurable, 42); + +assertEq(delete nonconfigurable, false); +assertEq(delete (true && nonconfigurable), true); + +function nested() +{ + assertEq(delete nonconfigurable, false); + assertEq(delete (true && nonconfigurable), true); +} +nested(); + +function nestedStrict() +{ + "use strict"; + assertEq(delete (true && nonconfigurable), true); +} +nestedStrict(); + +/******************************************************************************/ + +if (typeof reportCompare === "function") + reportCompare(true, true); + +print("Tests complete"); -- cgit v1.2.3