From 72e7cd699f74f1733adbf80feb6bb5d23f012219 Mon Sep 17 00:00:00 2001
From: Rick Waldron <waldron.rick@gmail.com>
Date: Thu, 6 Apr 2017 12:20:09 -0400
Subject: [PATCH] Move proxy function proxy tests into own file

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
---
 .../Object/prototype/toString/proxy-array.js  | 40 ++++++++++++++++++
 .../toString/{proxy.js => proxy-function.js}  | 41 +++----------------
 2 files changed, 45 insertions(+), 36 deletions(-)
 create mode 100644 test/built-ins/Object/prototype/toString/proxy-array.js
 rename test/built-ins/Object/prototype/toString/{proxy.js => proxy-function.js} (57%)

diff --git a/test/built-ins/Object/prototype/toString/proxy-array.js b/test/built-ins/Object/prototype/toString/proxy-array.js
new file mode 100644
index 0000000000..366607adfe
--- /dev/null
+++ b/test/built-ins/Object/prototype/toString/proxy-array.js
@@ -0,0 +1,40 @@
+// 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-object.prototype.tostring
+es6id: 19.1.3.6
+description: Proxy of an array is treated as an array
+info: |
+  [...]
+  3. Let O be ToObject(this value).
+  4. Let isArray be ? IsArray(O).
+  5. If isArray is true, let builtinTag be "Array".
+  [...]
+
+  7.2.2 IsArray
+
+  [...]
+  3. If argument is a Proxy exotic object, then
+     a. If the value of the [[ProxyHandler]] internal slot of argument is null,
+        throw a TypeError exception.
+     b. Let target be the value of the [[ProxyTarget]] internal slot of
+        argument.
+     c. Return ? IsArray(target).
+features: [Proxy]
+---*/
+
+var objectProxy = new Proxy({}, {});
+var arrayProxy = new Proxy([], {});
+var arrayProxyProxy = new Proxy(arrayProxy, {});
+
+assert.sameValue(
+  Object.prototype.toString.call(objectProxy), '[object Object]'
+);
+assert.sameValue(
+  Object.prototype.toString.call(arrayProxy), '[object Array]', 'array proxy'
+);
+assert.sameValue(
+  Object.prototype.toString.call(arrayProxyProxy),
+  '[object Array]',
+  'proxy for array proxy'
+);
diff --git a/test/built-ins/Object/prototype/toString/proxy.js b/test/built-ins/Object/prototype/toString/proxy-function.js
similarity index 57%
rename from test/built-ins/Object/prototype/toString/proxy.js
rename to test/built-ins/Object/prototype/toString/proxy-function.js
index 670bf12f86..63e2fcde6a 100644
--- a/test/built-ins/Object/prototype/toString/proxy.js
+++ b/test/built-ins/Object/prototype/toString/proxy-function.js
@@ -1,26 +1,11 @@
-// Copyright (C) 2016 the V8 project authors. All rights reserved.
 // Copyright (C) 2016 the Apple Inc. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 esid: sec-object.prototype.tostring
 es6id: 19.1.3.6
-description: Proxy of an array/function is treated as an array/function
+description: Proxy of an function is treated as an function
 info: |
   [...]
-  3. Let O be ToObject(this value).
-  4. Let isArray be ? IsArray(O).
-  5. If isArray is true, let builtinTag be "Array".
-  [...]
-
-  7.2.2 IsArray
-
-  [...]
-  3. If argument is a Proxy exotic object, then
-     a. If the value of the [[ProxyHandler]] internal slot of argument is null,
-        throw a TypeError exception.
-     b. Let target be the value of the [[ProxyTarget]] internal slot of
-        argument.
-     c. Return ? IsArray(target).
 
   9.5.14 ProxyCreate(target, handler)
 
@@ -32,23 +17,7 @@ info: |
 features: [Proxy]
 ---*/
 
-var objectProxy = new Proxy({}, {});
-var arrayProxy = new Proxy([], {});
-var arrayProxyProxy = new Proxy(arrayProxy, {});
-
-assert.sameValue(
-  Object.prototype.toString.call(objectProxy), '[object Object]'
-);
-assert.sameValue(
-  Object.prototype.toString.call(arrayProxy), '[object Array]', 'array proxy'
-);
-assert.sameValue(
-  Object.prototype.toString.call(arrayProxyProxy),
-  '[object Array]',
-  'proxy for array proxy'
-);
-
-var functionProxy = new Proxy(function() { }, {});
+var functionProxy = new Proxy(function() {}, {});
 var functionProxyProxy = new Proxy(functionProxy, {});
 
 assert.sameValue(
@@ -60,7 +29,7 @@ assert.sameValue(
   'proxy for function proxy'
 );
 
-var arrowProxy = new Proxy(() => { }, {});
+var arrowProxy = new Proxy(() => {}, {});
 var arrowProxyProxy = new Proxy(arrowProxy, {});
 
 assert.sameValue(
@@ -72,7 +41,7 @@ assert.sameValue(
   'proxy for arrow function proxy'
 );
 
-var generatorProxy = new Proxy(function*() { }, {});
+var generatorProxy = new Proxy(function*() {}, {});
 var generatorProxyProxy = new Proxy(generatorProxy, {});
 
 assert.sameValue(
@@ -84,7 +53,7 @@ assert.sameValue(
   'proxy for generator function proxy'
 );
 
-delete generatorProxy.__proto__[Symbol.toStringTag];
+delete generatorProxy.constructor.prototype[Symbol.toStringTag];
 
 assert.sameValue(
   Object.prototype.toString.call(generatorProxy), '[object Function]', 'generator function proxy without Symbol.toStringTag'
-- 
GitLab