summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/JSON/parse/builtin.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/JSON/parse/builtin.js')
-rw-r--r--js/src/tests/test262/built-ins/JSON/parse/builtin.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/JSON/parse/builtin.js b/js/src/tests/test262/built-ins/JSON/parse/builtin.js
new file mode 100644
index 0000000000..c9737b46c2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/JSON/parse/builtin.js
@@ -0,0 +1,30 @@
+// Copyright (C) 2019 Alexey Shvayka. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-json.parse
+description: >
+ Requirements for built-in functions, defined in introduction of chapter 17,
+ are satisfied.
+features: [Reflect.construct]
+---*/
+
+var parse = JSON.parse;
+assert(Object.isExtensible(parse), 'Object.isExtensible(parse) must return true');
+assert.sameValue(typeof parse, 'function', 'The value of `typeof parse` is "function"');
+assert.sameValue(
+ Object.prototype.toString.call(parse),
+ '[object Function]',
+ 'Object.prototype.toString.call("JSON.parse") must return "[object Function]"'
+);
+assert.sameValue(
+ Object.getPrototypeOf(parse),
+ Function.prototype,
+ 'Object.getPrototypeOf("JSON.parse") must return the value of Function.prototype'
+);
+assert.sameValue(
+ parse.hasOwnProperty('prototype'),
+ false,
+ 'parse.hasOwnProperty("prototype") must return false'
+);
+
+reportCompare(0, 0);