summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js')
-rw-r--r--js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js b/js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js
new file mode 100644
index 0000000000..451355fe6e
--- /dev/null
+++ b/js/src/tests/test262/language/statements/function/S13.2.2_A17_T3.js
@@ -0,0 +1,71 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+info: FunctionExpression containing "with" statement is admitted
+es5id: 13.2.2_A17_T3
+description: >
+ In the check 4 we populate field getRight in __obj object since
+ var getRight declaration adds variable to function scope but
+ getRight in statement resolves within with(__obj) scope and
+ searchs getRight in __obj first
+flags: [noStrict]
+---*/
+
+p1="alert";
+
+this.__obj={p1:1,getRight:function(){return "right";}};
+
+var getRight=function(){return "napravo";};
+
+resukt=(function(){
+ with(__obj){
+ p1="w1";
+ var getRight=function(){return false;};
+ return p1;
+ }
+})();
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#1
+if (p1!=="alert") {
+ throw new Test262Error('#1: p1 === "alert". Actual: p1==='+p1);
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#2
+if (getRight()!=="napravo") {
+ throw new Test262Error('#2: getRight() === "napravo". Actual: getRight()==='+getRight());
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#3
+if (__obj.p1!=="w1") {
+ throw new Test262Error('#3: __obj.p1 === "w1". Actual: __obj.p1 ==='+__obj.p1);
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#4
+if (__obj.getRight()!==false) {
+ throw new Test262Error('#4: __obj.getRight() === false. Actual: __obj.getRight()==='+__obj.getRight());
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////
+//CHECK#5
+if (resukt !== "w1") {
+ throw new Test262Error('#5: resukt === "w1". Actual: resukt ==='+resukt);
+}
+//
+//////////////////////////////////////////////////////////////////////////////
+
+var resukt;
+
+reportCompare(0, 0);