From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 28 Apr 2024 16:29:10 +0200
Subject: Adding upstream version 86.0.1.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 .../object/scope-meth-param-elem-var-close.js      | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 js/src/tests/test262/language/expressions/object/scope-meth-param-elem-var-close.js

(limited to 'js/src/tests/test262/language/expressions/object/scope-meth-param-elem-var-close.js')

diff --git a/js/src/tests/test262/language/expressions/object/scope-meth-param-elem-var-close.js b/js/src/tests/test262/language/expressions/object/scope-meth-param-elem-var-close.js
new file mode 100644
index 0000000000..6d8c2e60ff
--- /dev/null
+++ b/js/src/tests/test262/language/expressions/object/scope-meth-param-elem-var-close.js
@@ -0,0 +1,34 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+description: >
+    sloppy direct evals in params introduce vars
+info: |
+    [...]
+    20. Else,
+      a. NOTE: A separate Environment Record is needed to ensure that bindings created by direct eval calls in the formal parameter list are outside the environment where parameters are declared.
+      b. Let calleeEnv be the LexicalEnvironment of calleeContext.
+      c. Let env be NewDeclarativeEnvironment(calleeEnv).
+      d. Let envRec be env's EnvironmentRecord.
+    [...]
+flags: [noStrict]
+---*/
+
+var x = 'outside';
+var probe1, probe2, probeBody;
+
+({
+  m(
+    _ = (eval('var x = "inside";'), probe1 = function() { return x; }),
+    __ = probe2 = function() { return x; }
+  ) {
+    probeBody = function() { return x; };
+  }
+}.m());
+
+assert.sameValue(probe1(), 'inside');
+assert.sameValue(probe2(), 'inside');
+assert.sameValue(probeBody(), 'inside');
+
+reportCompare(0, 0);
-- 
cgit v1.2.3