From ec3a89ebb8aaffeeec604ece95cbeabd6bf56504 Mon Sep 17 00:00:00 2001
From: Leonardo Balter <leonardo.balter@gmail.com>
Date: Tue, 21 Jun 2016 14:57:10 -0400
Subject: [PATCH] Add test for the Math object

---
 test/built-ins/Math/prop-desc.js | 33 ++++++++++++++++++++++++++++++++
 test/built-ins/Math/proto.js     | 18 +++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 test/built-ins/Math/prop-desc.js
 create mode 100644 test/built-ins/Math/proto.js

diff --git a/test/built-ins/Math/prop-desc.js b/test/built-ins/Math/prop-desc.js
new file mode 100644
index 0000000000..b78c0bb938
--- /dev/null
+++ b/test/built-ins/Math/prop-desc.js
@@ -0,0 +1,33 @@
+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2
+esid: sec-math-object
+description: >
+  Property descriptor of Math
+info: |
+  The Math Object
+
+  [...]
+  The Math object is not a function object. It does not have a [[Construct]]
+  internal method; it is not possible to use the Math object as a constructor
+  with the new operator. The Math object also does not have a [[Call]] internal
+  method; it is not possible to invoke the Math object as a function.
+
+  17 ECMAScript Standard Built-in Objects:
+
+  Every other data property described in clauses 18 through 26 and in Annex B.2
+  has the attributes { [[Writable]]: true, [[Enumerable]]: false,
+  [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(typeof Math, "object", "no [[Call]]");
+assert.throws(TypeError, function() {
+  new Math();
+}, "no [[Construct]]");
+
+verifyNotEnumerable(this, "Math");
+verifyWritable(this, "Math");
+verifyConfigurable(this, "Math");
diff --git a/test/built-ins/Math/proto.js b/test/built-ins/Math/proto.js
new file mode 100644
index 0000000000..b2047814f1
--- /dev/null
+++ b/test/built-ins/Math/proto.js
@@ -0,0 +1,18 @@
+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.2
+esid: sec-math-object
+description: >
+  The prototype of Math is Object.prototype
+info: |
+  The Math Object
+
+  The value of the [[Prototype]] internal slot of the Math object is the
+  intrinsic object %ObjectPrototype%.
+---*/
+
+var proto = Object.getPrototypeOf(Math);
+
+assert.sameValue(proto, Object.prototype);
-- 
GitLab