summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/Object/getPrototypeOf
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/built-ins/Object/getPrototypeOf
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/built-ins/Object/getPrototypeOf')
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-1.js11
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-2.js11
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js14
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js14
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-3.js11
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-4.js11
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1.js11
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-1.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-10.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-11.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-12.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-13.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-14.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-15.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-16.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-17.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-18.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-19.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-2.js24
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-20.js17
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-21.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-22.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-23.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-24.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-25.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-26.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-27.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-28.js18
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-3.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-30.js15
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-31.js11
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-4.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-5.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-6.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-7.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-8.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-9.js13
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/browser.js0
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/name.js28
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/not-a-constructor.js35
-rw-r--r--js/src/tests/test262/built-ins/Object/getPrototypeOf/shell.js0
41 files changed, 572 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-1.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-1.js
new file mode 100644
index 0000000000..be0cca15a7
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-1.js
@@ -0,0 +1,11 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-0-1
+description: Object.getPrototypeOf must exist as a function
+---*/
+
+assert.sameValue(typeof(Object.getPrototypeOf), "function", 'typeof(Object.getPrototypeOf)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-2.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-2.js
new file mode 100644
index 0000000000..a402a47715
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-2.js
@@ -0,0 +1,11 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-0-2
+description: Object.getPrototypeOf must exist as a function taking 1 parameter
+---*/
+
+assert.sameValue(Object.getPrototypeOf.length, 1, 'Object.getPrototypeOf.length');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js
new file mode 100644
index 0000000000..7058948c84
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-0-3.js
@@ -0,0 +1,14 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-0-3
+description: Object.getPrototypeOf must take 1 parameter
+---*/
+
+
+assert.throws(TypeError, function() {
+ Object.getPrototypeOf();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js
new file mode 100644
index 0000000000..d1a182d55e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-2.js
@@ -0,0 +1,14 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-1-2
+description: Object.getPrototypeOf throws TypeError if 'O' is null
+---*/
+
+
+assert.throws(TypeError, function() {
+ Object.getPrototypeOf(null);
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-3.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-3.js
new file mode 100644
index 0000000000..d07baf00cd
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-3.js
@@ -0,0 +1,11 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-1-3
+description: Object.getPrototypeOf returns Boolean.prototype if 'O' is a boolean
+---*/
+
+assert.sameValue(Object.getPrototypeOf(true), Boolean.prototype, 'Object.getPrototypeOf(true)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-4.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-4.js
new file mode 100644
index 0000000000..bd55d66f73
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1-4.js
@@ -0,0 +1,11 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-1-4
+description: Object.getPrototypeOf returns String.prototype if 'O' is a string
+---*/
+
+assert.sameValue(Object.getPrototypeOf("abc"), String.prototype, 'Object.getPrototypeOf("abc")');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1.js
new file mode 100644
index 0000000000..3cf05634eb
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-1.js
@@ -0,0 +1,11 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-1
+description: Object.getPrototypeOf returns Number.prototype if 'O' is a number
+---*/
+
+assert.sameValue(Object.getPrototypeOf(0), Number.prototype, 'Object.getPrototypeOf(0)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-1.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-1.js
new file mode 100644
index 0000000000..0b8177c077
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-1.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-1
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Boolean)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Boolean), Function.prototype, 'Object.getPrototypeOf(Boolean)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-10.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-10.js
new file mode 100644
index 0000000000..6e05eb1d0a
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-10.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-10
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (RegExp)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(RegExp), Function.prototype, 'Object.getPrototypeOf(RegExp)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-11.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-11.js
new file mode 100644
index 0000000000..bbbe24044c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-11.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-11
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Error)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Error), Function.prototype, 'Object.getPrototypeOf(Error)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-12.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-12.js
new file mode 100644
index 0000000000..b72d16e116
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-12.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-12
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (EvalError)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(EvalError), Error, 'Object.getPrototypeOf(EvalError)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-13.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-13.js
new file mode 100644
index 0000000000..b468f6e9d2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-13.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-13
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (RangeError)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(RangeError), Error, 'Object.getPrototypeOf(RangeError)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-14.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-14.js
new file mode 100644
index 0000000000..6101e43953
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-14.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-14
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (ReferenceError)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(ReferenceError), Error, 'Object.getPrototypeOf(ReferenceError)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-15.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-15.js
new file mode 100644
index 0000000000..a802e5b626
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-15.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-15
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (SyntaxError)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(SyntaxError), Error, 'Object.getPrototypeOf(SyntaxError)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-16.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-16.js
new file mode 100644
index 0000000000..e62f026460
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-16.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-16
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (TypeError)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(TypeError), Error, 'Object.getPrototypeOf(TypeError)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-17.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-17.js
new file mode 100644
index 0000000000..67ceae23f0
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-17.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-17
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (URIError)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(URIError), Error, 'Object.getPrototypeOf(URIError)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-18.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-18.js
new file mode 100644
index 0000000000..6a49f3512e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-18.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-18
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (JSON)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(JSON), Object.prototype, 'Object.getPrototypeOf(JSON)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-19.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-19.js
new file mode 100644
index 0000000000..d51b0964b3
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-19.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-19
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Object object)
+---*/
+
+var obj = {};
+
+assert.sameValue(Object.getPrototypeOf(obj), Object.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-2.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-2.js
new file mode 100644
index 0000000000..10826fd4d0
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-2.js
@@ -0,0 +1,24 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+info: |
+ Let 'x' be the return value from getPrototypeOf when called on d.
+ Then, x.isPrototypeOf(d) must be true.
+es5id: 15.2.3.2-2-2
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (custom object)
+---*/
+
+function base() {}
+
+function derived() {}
+derived.prototype = new base();
+
+var d = new derived();
+var x = Object.getPrototypeOf(d);
+
+assert.sameValue(x.isPrototypeOf(d), true, 'x.isPrototypeOf(d)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-20.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-20.js
new file mode 100644
index 0000000000..956a276255
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-20.js
@@ -0,0 +1,17 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-20
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Function Object)
+---*/
+
+var obj = function(a, b) {
+ return a + b;
+};
+
+assert.sameValue(Object.getPrototypeOf(obj), Function.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-21.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-21.js
new file mode 100644
index 0000000000..f466d4243c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-21.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-21
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Array object)
+---*/
+
+var arr = [1, 2, 3];
+
+assert.sameValue(Object.getPrototypeOf(arr), Array.prototype, 'Object.getPrototypeOf(arr)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-22.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-22.js
new file mode 100644
index 0000000000..bff25349a7
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-22.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-22
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (String object)
+---*/
+
+var obj = new String("abc");
+
+assert.sameValue(Object.getPrototypeOf(obj), String.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-23.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-23.js
new file mode 100644
index 0000000000..cc5fb8fbfc
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-23.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-23
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Boolean object)
+---*/
+
+var obj = new Boolean(true);
+
+assert.sameValue(Object.getPrototypeOf(obj), Boolean.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-24.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-24.js
new file mode 100644
index 0000000000..1dfcd9bb41
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-24.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-24
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Number object)
+---*/
+
+var obj = new Number(-3);
+
+assert.sameValue(Object.getPrototypeOf(obj), Number.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-25.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-25.js
new file mode 100644
index 0000000000..b461a7647f
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-25.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-25
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Date object)
+---*/
+
+var obj = new Date();
+
+assert.sameValue(Object.getPrototypeOf(obj), Date.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-26.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-26.js
new file mode 100644
index 0000000000..adbedca94b
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-26.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-26
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (RegExp object)
+---*/
+
+var obj = new RegExp();
+
+assert.sameValue(Object.getPrototypeOf(obj), RegExp.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-27.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-27.js
new file mode 100644
index 0000000000..da90f47471
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-27.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-27
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Error object)
+---*/
+
+var obj = new Error();
+
+assert.sameValue(Object.getPrototypeOf(obj), Error.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-28.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-28.js
new file mode 100644
index 0000000000..ac2f7bf5a4
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-28.js
@@ -0,0 +1,18 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-28
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (the Arguments object)
+---*/
+
+function fun() {
+ return arguments;
+}
+var obj = fun(1, true, 3);
+
+assert.sameValue(Object.getPrototypeOf(obj), Object.prototype, 'Object.getPrototypeOf(obj)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-3.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-3.js
new file mode 100644
index 0000000000..8d1fc2db00
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-3.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-3
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Object)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Object), Function.prototype, 'Object.getPrototypeOf(Object)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-30.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-30.js
new file mode 100644
index 0000000000..d0bf5447f4
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-30.js
@@ -0,0 +1,15 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-30
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (the global object)
+---*/
+
+var proto = Object.getPrototypeOf(this);
+
+assert.sameValue(proto.isPrototypeOf(this), true, 'proto.isPrototypeOf(this)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-31.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-31.js
new file mode 100644
index 0000000000..eea1744b59
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-31.js
@@ -0,0 +1,11 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-31
+description: Object.getPrototypeOf returns null
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Object.prototype), null, 'Object.getPrototypeOf(Object.prototype)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-4.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-4.js
new file mode 100644
index 0000000000..666c053410
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-4.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-4
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Function)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Function), Function.prototype, 'Object.getPrototypeOf(Function)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-5.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-5.js
new file mode 100644
index 0000000000..d51dbe2a8f
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-5.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-5
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Array)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Array), Function.prototype, 'Object.getPrototypeOf(Array)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-6.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-6.js
new file mode 100644
index 0000000000..4702575ef9
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-6.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-6
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (String)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(String), Function.prototype, 'Object.getPrototypeOf(String)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-7.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-7.js
new file mode 100644
index 0000000000..fee7e5392f
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-7.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-7
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Number)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Number), Function.prototype, 'Object.getPrototypeOf(Number)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-8.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-8.js
new file mode 100644
index 0000000000..0365a3a239
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-8.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-8
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Math)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Math), Object.prototype, 'Object.getPrototypeOf(Math)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-9.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-9.js
new file mode 100644
index 0000000000..71d43d1d6e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/15.2.3.2-2-9.js
@@ -0,0 +1,13 @@
+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 15.2.3.2-2-9
+description: >
+ Object.getPrototypeOf returns the [[Prototype]] of its parameter
+ (Date)
+---*/
+
+assert.sameValue(Object.getPrototypeOf(Date), Function.prototype, 'Object.getPrototypeOf(Date)');
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/browser.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/browser.js
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/name.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/name.js
new file mode 100644
index 0000000000..ad6ed3dfd7
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/name.js
@@ -0,0 +1,28 @@
+// Copyright (C) 2015 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 19.1.2.9
+description: >
+ Object.getPrototypeOf.name is "getPrototypeOf".
+info: |
+ Object.getPrototypeOf ( O )
+
+ 17 ECMAScript Standard Built-in Objects:
+ Every built-in Function object, including constructors, that is not
+ identified as an anonymous function has a name property whose value
+ is a String.
+
+ Unless otherwise specified, the name property of a built-in Function
+ object, if it exists, has the attributes { [[Writable]]: false,
+ [[Enumerable]]: false, [[Configurable]]: true }.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Object.getPrototypeOf.name, "getPrototypeOf");
+
+verifyNotEnumerable(Object.getPrototypeOf, "name");
+verifyNotWritable(Object.getPrototypeOf, "name");
+verifyConfigurable(Object.getPrototypeOf, "name");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/not-a-constructor.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/not-a-constructor.js
new file mode 100644
index 0000000000..a40dd4beca
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/not-a-constructor.js
@@ -0,0 +1,35 @@
+// Copyright (C) 2020 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-ecmascript-standard-built-in-objects
+description: >
+ Object.getPrototypeOf does not implement [[Construct]], is not new-able
+info: |
+ ECMAScript Function Objects
+
+ Built-in function objects that are not identified as constructors do not
+ implement the [[Construct]] internal method unless otherwise specified in
+ the description of a particular function.
+
+ sec-evaluatenew
+
+ ...
+ 7. If IsConstructor(constructor) is false, throw a TypeError exception.
+ ...
+includes: [isConstructor.js]
+features: [Reflect.construct, arrow-function]
+---*/
+
+assert.sameValue(
+ isConstructor(Object.getPrototypeOf),
+ false,
+ 'isConstructor(Object.getPrototypeOf) must return false'
+);
+
+assert.throws(TypeError, () => {
+ new Object.getPrototypeOf({});
+}, '`new Object.getPrototypeOf({})` throws TypeError');
+
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Object/getPrototypeOf/shell.js b/js/src/tests/test262/built-ins/Object/getPrototypeOf/shell.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Object/getPrototypeOf/shell.js