From f45341ca4eb8f8ac7178779c32cf2730654fd36c Mon Sep 17 00:00:00 2001
From: Leonardo Balter <leonardo.balter@gmail.com>
Date: Thu, 2 Mar 2017 17:29:08 -0500
Subject: [PATCH] Add and update descriptor tests for Math properties

---
 test/built-ins/Math/E/S15.8.1.1_A2.js         | 15 -----------
 test/built-ins/Math/E/S15.8.1.1_A3.js         | 21 ----------------
 test/built-ins/Math/E/S15.8.1.1_A4.js         | 16 ------------
 test/built-ins/Math/E/prop-desc.js            | 16 ++++++++++++
 test/built-ins/Math/LN10/S15.8.1.2_A2.js      | 15 -----------
 test/built-ins/Math/LN10/S15.8.1.2_A3.js      | 21 ----------------
 test/built-ins/Math/LN10/S15.8.1.2_A4.js      | 16 ------------
 test/built-ins/Math/LN10/prop-desc.js         | 16 ++++++++++++
 test/built-ins/Math/LN2/S15.8.1.3_A2.js       | 15 -----------
 test/built-ins/Math/LN2/S15.8.1.3_A3.js       | 21 ----------------
 test/built-ins/Math/LN2/S15.8.1.3_A4.js       | 16 ------------
 test/built-ins/Math/LN2/prop-desc.js          | 16 ++++++++++++
 test/built-ins/Math/LOG10E/S15.8.1.5_A2.js    | 15 -----------
 test/built-ins/Math/LOG10E/S15.8.1.5_A3.js    | 21 ----------------
 test/built-ins/Math/LOG10E/S15.8.1.5_A4.js    | 16 ------------
 test/built-ins/Math/LOG10E/prop-desc.js       | 16 ++++++++++++
 test/built-ins/Math/LOG2E/S15.8.1.4_A2.js     | 15 -----------
 test/built-ins/Math/LOG2E/S15.8.1.4_A3.js     | 21 ----------------
 test/built-ins/Math/LOG2E/S15.8.1.4_A4.js     | 16 ------------
 test/built-ins/Math/LOG2E/prop-desc.js        | 16 ++++++++++++
 test/built-ins/Math/PI/S15.8.1.6_A2.js        | 15 -----------
 test/built-ins/Math/PI/S15.8.1.6_A3.js        | 21 ----------------
 test/built-ins/Math/PI/S15.8.1.6_A4.js        | 16 ------------
 test/built-ins/Math/PI/prop-desc.js           | 16 ++++++++++++
 test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js   | 15 -----------
 test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js   | 21 ----------------
 test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js   | 16 ------------
 test/built-ins/Math/SQRT1_2/prop-desc.js      | 16 ++++++++++++
 test/built-ins/Math/SQRT2/S15.8.1.8_A2.js     | 15 -----------
 test/built-ins/Math/SQRT2/S15.8.1.8_A3.js     | 21 ----------------
 test/built-ins/Math/SQRT2/S15.8.1.8_A4.js     | 16 ------------
 test/built-ins/Math/SQRT2/prop-desc.js        | 16 ++++++++++++
 test/built-ins/Math/abs/prop-desc.js          | 16 ++++++++++++
 test/built-ins/Math/acos/prop-desc.js         | 16 ++++++++++++
 .../{acosh-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 test/built-ins/Math/asin/prop-desc.js         | 16 ++++++++++++
 .../{asinh-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 test/built-ins/Math/atan/prop-desc.js         | 16 ++++++++++++
 test/built-ins/Math/atan2/prop-desc.js        | 16 ++++++++++++
 .../{atanh-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 .../cbrt/{cbrt-descriptor.js => prop-desc.js} |  2 +-
 test/built-ins/Math/ceil/prop-desc.js         | 17 +++++++++++++
 test/built-ins/Math/clz32/prop-desc.js        | 17 +++++++++++++
 test/built-ins/Math/cos/prop-desc.js          | 17 +++++++++++++
 .../cosh/{cosh-descriptor.js => prop-desc.js} | 24 +++++++++---------
 test/built-ins/Math/exp/prop-desc.js          | 17 +++++++++++++
 .../{expm1-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 test/built-ins/Math/floor/prop-desc.js        | 17 +++++++++++++
 test/built-ins/Math/fround/prop-desc.js       | 17 +++++++++++++
 .../{hypot-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 .../imul/{imul-descriptor.js => prop-desc.js} | 24 +++++++++---------
 test/built-ins/Math/log/prop-desc.js          | 17 +++++++++++++
 .../{Log10-descriptor.js => prop-desc.js}     | 25 ++++++++++---------
 .../{Log1p-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 .../log2/{log2-descriptor.js => prop-desc.js} | 24 +++++++++---------
 test/built-ins/Math/max/prop-desc.js          | 17 +++++++++++++
 test/built-ins/Math/min/prop-desc.js          | 17 +++++++++++++
 .../Math/pow/{math.pow.js => prop-desc.js}    |  2 +-
 test/built-ins/Math/random/prop-desc.js       | 17 +++++++++++++
 test/built-ins/Math/round/prop-desc.js        | 17 +++++++++++++
 .../sign/{sign-descriptor.js => prop-desc.js} | 24 +++++++++---------
 test/built-ins/Math/sin/prop-desc.js          | 17 +++++++++++++
 .../sinh/{sinh-descriptor.js => prop-desc.js} | 24 +++++++++---------
 test/built-ins/Math/sqrt/prop-desc.js         | 17 +++++++++++++
 test/built-ins/Math/tan/prop-desc.js          | 17 +++++++++++++
 .../tanh/{tanh-descriptor.js => prop-desc.js} | 24 +++++++++---------
 .../{trunc-descriptor.js => prop-desc.js}     | 24 +++++++++---------
 67 files changed, 617 insertions(+), 586 deletions(-)
 delete mode 100644 test/built-ins/Math/E/S15.8.1.1_A2.js
 delete mode 100644 test/built-ins/Math/E/S15.8.1.1_A3.js
 delete mode 100644 test/built-ins/Math/E/S15.8.1.1_A4.js
 create mode 100644 test/built-ins/Math/E/prop-desc.js
 delete mode 100644 test/built-ins/Math/LN10/S15.8.1.2_A2.js
 delete mode 100644 test/built-ins/Math/LN10/S15.8.1.2_A3.js
 delete mode 100644 test/built-ins/Math/LN10/S15.8.1.2_A4.js
 create mode 100644 test/built-ins/Math/LN10/prop-desc.js
 delete mode 100644 test/built-ins/Math/LN2/S15.8.1.3_A2.js
 delete mode 100644 test/built-ins/Math/LN2/S15.8.1.3_A3.js
 delete mode 100644 test/built-ins/Math/LN2/S15.8.1.3_A4.js
 create mode 100644 test/built-ins/Math/LN2/prop-desc.js
 delete mode 100644 test/built-ins/Math/LOG10E/S15.8.1.5_A2.js
 delete mode 100644 test/built-ins/Math/LOG10E/S15.8.1.5_A3.js
 delete mode 100644 test/built-ins/Math/LOG10E/S15.8.1.5_A4.js
 create mode 100644 test/built-ins/Math/LOG10E/prop-desc.js
 delete mode 100644 test/built-ins/Math/LOG2E/S15.8.1.4_A2.js
 delete mode 100644 test/built-ins/Math/LOG2E/S15.8.1.4_A3.js
 delete mode 100644 test/built-ins/Math/LOG2E/S15.8.1.4_A4.js
 create mode 100644 test/built-ins/Math/LOG2E/prop-desc.js
 delete mode 100644 test/built-ins/Math/PI/S15.8.1.6_A2.js
 delete mode 100644 test/built-ins/Math/PI/S15.8.1.6_A3.js
 delete mode 100644 test/built-ins/Math/PI/S15.8.1.6_A4.js
 create mode 100644 test/built-ins/Math/PI/prop-desc.js
 delete mode 100644 test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js
 delete mode 100644 test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js
 delete mode 100644 test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js
 create mode 100644 test/built-ins/Math/SQRT1_2/prop-desc.js
 delete mode 100644 test/built-ins/Math/SQRT2/S15.8.1.8_A2.js
 delete mode 100644 test/built-ins/Math/SQRT2/S15.8.1.8_A3.js
 delete mode 100644 test/built-ins/Math/SQRT2/S15.8.1.8_A4.js
 create mode 100644 test/built-ins/Math/SQRT2/prop-desc.js
 create mode 100644 test/built-ins/Math/abs/prop-desc.js
 create mode 100644 test/built-ins/Math/acos/prop-desc.js
 rename test/built-ins/Math/acosh/{acosh-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/asin/prop-desc.js
 rename test/built-ins/Math/asinh/{asinh-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/atan/prop-desc.js
 create mode 100644 test/built-ins/Math/atan2/prop-desc.js
 rename test/built-ins/Math/atanh/{atanh-descriptor.js => prop-desc.js} (96%)
 rename test/built-ins/Math/cbrt/{cbrt-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/ceil/prop-desc.js
 create mode 100644 test/built-ins/Math/clz32/prop-desc.js
 create mode 100644 test/built-ins/Math/cos/prop-desc.js
 rename test/built-ins/Math/cosh/{cosh-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/exp/prop-desc.js
 rename test/built-ins/Math/expm1/{expm1-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/floor/prop-desc.js
 create mode 100644 test/built-ins/Math/fround/prop-desc.js
 rename test/built-ins/Math/hypot/{hypot-descriptor.js => prop-desc.js} (96%)
 rename test/built-ins/Math/imul/{imul-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/log/prop-desc.js
 rename test/built-ins/Math/log10/{Log10-descriptor.js => prop-desc.js} (82%)
 rename test/built-ins/Math/log1p/{Log1p-descriptor.js => prop-desc.js} (96%)
 rename test/built-ins/Math/log2/{log2-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/max/prop-desc.js
 create mode 100644 test/built-ins/Math/min/prop-desc.js
 rename test/built-ins/Math/pow/{math.pow.js => prop-desc.js} (98%)
 create mode 100644 test/built-ins/Math/random/prop-desc.js
 create mode 100644 test/built-ins/Math/round/prop-desc.js
 rename test/built-ins/Math/sign/{sign-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/sin/prop-desc.js
 rename test/built-ins/Math/sinh/{sinh-descriptor.js => prop-desc.js} (96%)
 create mode 100644 test/built-ins/Math/sqrt/prop-desc.js
 create mode 100644 test/built-ins/Math/tan/prop-desc.js
 rename test/built-ins/Math/tanh/{tanh-descriptor.js => prop-desc.js} (96%)
 rename test/built-ins/Math/trunc/{trunc-descriptor.js => prop-desc.js} (96%)

diff --git a/test/built-ins/Math/E/S15.8.1.1_A2.js b/test/built-ins/Math/E/S15.8.1.1_A2.js
deleted file mode 100644
index 80d1475b1a..0000000000
--- a/test/built-ins/Math/E/S15.8.1.1_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property E of the Math Object has the attribute DontEnum
-es5id: 15.8.1.1_A2
-description: Checking if Math.E property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "E") {
-    $ERROR('#1: Value Property E of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="E"}\'');
-  }
-}
diff --git a/test/built-ins/Math/E/S15.8.1.1_A3.js b/test/built-ins/Math/E/S15.8.1.1_A3.js
deleted file mode 100644
index 38126ffc34..0000000000
--- a/test/built-ins/Math/E/S15.8.1.1_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property E of the Math Object has the attribute DontDelete
-es5id: 15.8.1.1_A3
-description: Checking if Math.E property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "E");
-
-// CHECK#1
-try {
-  if (delete Math.E === true) {
-    $ERROR('#1: Value Property E of the Math Object hasn\'t attribute DontDelete: \'Math.E === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/E/S15.8.1.1_A4.js b/test/built-ins/Math/E/S15.8.1.1_A4.js
deleted file mode 100644
index b8b67c8ab5..0000000000
--- a/test/built-ins/Math/E/S15.8.1.1_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property E of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.1_A4
-description: Checking if Math.E property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.E;
-verifyNotWritable(Math, "E", null, 1);
-if (Math.E !== x) {
-  $ERROR('#1: Math.E hasn\'t ReadOnly: \'x = Math.E;Math.E = 1;Math.E === x\'');
-}
diff --git a/test/built-ins/Math/E/prop-desc.js b/test/built-ins/Math/E/prop-desc.js
new file mode 100644
index 0000000000..06db0bc67e
--- /dev/null
+++ b/test/built-ins/Math/E/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.e
+description: >
+  "E" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'E');
+verifyNotWritable(Math, 'E');
+verifyNotConfigurable(Math, 'E');
diff --git a/test/built-ins/Math/LN10/S15.8.1.2_A2.js b/test/built-ins/Math/LN10/S15.8.1.2_A2.js
deleted file mode 100644
index e419b80177..0000000000
--- a/test/built-ins/Math/LN10/S15.8.1.2_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN10 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.2_A2
-description: Checking if Math.LN10 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LN10") {
-    $ERROR('#1: Value Property LN10 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LN10"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LN10/S15.8.1.2_A3.js b/test/built-ins/Math/LN10/S15.8.1.2_A3.js
deleted file mode 100644
index 8ee3eb6fb0..0000000000
--- a/test/built-ins/Math/LN10/S15.8.1.2_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN10 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.2_A3
-description: Checking if Math.LN10 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LN10");
-
-// CHECK#1
-try {
-  if (delete Math.LN10 === true) {
-    $ERROR('#1: Value Property LN10 of the Math Object hasn\'t attribute DontDelete: \'Math.LN10 === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LN10/S15.8.1.2_A4.js b/test/built-ins/Math/LN10/S15.8.1.2_A4.js
deleted file mode 100644
index 088d821a51..0000000000
--- a/test/built-ins/Math/LN10/S15.8.1.2_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN10 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.2_A4
-description: Checking if Math.LN10 property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LN10;
-verifyNotWritable(Math, "LN10", null, 1);
-if (Math.LN10 !== x) {
-  $ERROR('#1: Math.LN10 hasn\'t ReadOnly: \'x = Math.LN10;Math.LN10 = 1;Math.LN10 === x\'');
-}
diff --git a/test/built-ins/Math/LN10/prop-desc.js b/test/built-ins/Math/LN10/prop-desc.js
new file mode 100644
index 0000000000..e60fb46a5b
--- /dev/null
+++ b/test/built-ins/Math/LN10/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.ln10
+description: >
+  "LN10" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LN10');
+verifyNotWritable(Math, 'LN10');
+verifyNotConfigurable(Math, 'LN10');
diff --git a/test/built-ins/Math/LN2/S15.8.1.3_A2.js b/test/built-ins/Math/LN2/S15.8.1.3_A2.js
deleted file mode 100644
index e0c842e968..0000000000
--- a/test/built-ins/Math/LN2/S15.8.1.3_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN2 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.3_A2
-description: Checking if Math.LN2 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LN2") {
-    $ERROR('#1: Value Property LN2 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LN2"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LN2/S15.8.1.3_A3.js b/test/built-ins/Math/LN2/S15.8.1.3_A3.js
deleted file mode 100644
index 66de45f9ce..0000000000
--- a/test/built-ins/Math/LN2/S15.8.1.3_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN2 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.3_A3
-description: Checking if Math.LN2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LN2");
-
-// CHECK#1
-try {
-  if (delete Math.LN2 === true) {
-    $ERROR('#1: Value Property LN2 of the Math Object hasn\'t attribute DontDelete: \'Math.LN2 === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LN2/S15.8.1.3_A4.js b/test/built-ins/Math/LN2/S15.8.1.3_A4.js
deleted file mode 100644
index db335f4e39..0000000000
--- a/test/built-ins/Math/LN2/S15.8.1.3_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LN2 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.3_A4
-description: Checking if Math.LN2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LN2;
-verifyNotWritable(Math, "LN2", null, 1);
-if (Math.LN2 !== x) {
-  $ERROR('#1: Math.LN2 hasn\'t ReadOnly: \'x = Math.LN2;Math.LN2 = 1;Math.LN2 === x\'');
-}
diff --git a/test/built-ins/Math/LN2/prop-desc.js b/test/built-ins/Math/LN2/prop-desc.js
new file mode 100644
index 0000000000..b40c2d9b12
--- /dev/null
+++ b/test/built-ins/Math/LN2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.ln2
+description: >
+  "LN2" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LN2');
+verifyNotWritable(Math, 'LN2');
+verifyNotConfigurable(Math, 'LN2');
diff --git a/test/built-ins/Math/LOG10E/S15.8.1.5_A2.js b/test/built-ins/Math/LOG10E/S15.8.1.5_A2.js
deleted file mode 100644
index e252c03911..0000000000
--- a/test/built-ins/Math/LOG10E/S15.8.1.5_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG10E of the Math Object has the attribute DontEnum
-es5id: 15.8.1.5_A2
-description: Checking if Math.LOG10E property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LOG10E") {
-    $ERROR('#1: Value Property LOG10E of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LOG10E"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LOG10E/S15.8.1.5_A3.js b/test/built-ins/Math/LOG10E/S15.8.1.5_A3.js
deleted file mode 100644
index 5c02f2b0dd..0000000000
--- a/test/built-ins/Math/LOG10E/S15.8.1.5_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG10E of the Math Object has the attribute DontDelete
-es5id: 15.8.1.5_A3
-description: Checking if Math.LOG10E property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LOG10E");
-
-// CHECK#1
-try {
-  if (delete Math.LOG10E === true) {
-    $ERROR('#1: Value Property LOG10E of the Math Object hasn\'t attribute DontDelete: \'Math.LOG10E === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LOG10E/S15.8.1.5_A4.js b/test/built-ins/Math/LOG10E/S15.8.1.5_A4.js
deleted file mode 100644
index 9708e5edae..0000000000
--- a/test/built-ins/Math/LOG10E/S15.8.1.5_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG10E of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.5_A4
-description: Checking if Math.LOG10E property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LOG10E;
-verifyNotWritable(Math, "LOG10E", null, 1);
-if (Math.LOG10E !== x) {
-  $ERROR('#1: Math.LOG10E hasn\'t ReadOnly: \'x = Math.LOG10E;Math.LOG10E = 1;Math.LOG10E === x\'');
-}
diff --git a/test/built-ins/Math/LOG10E/prop-desc.js b/test/built-ins/Math/LOG10E/prop-desc.js
new file mode 100644
index 0000000000..a690ef416f
--- /dev/null
+++ b/test/built-ins/Math/LOG10E/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.log10e
+description: >
+  "LOG10E" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LOG10E');
+verifyNotWritable(Math, 'LOG10E');
+verifyNotConfigurable(Math, 'LOG10E');
diff --git a/test/built-ins/Math/LOG2E/S15.8.1.4_A2.js b/test/built-ins/Math/LOG2E/S15.8.1.4_A2.js
deleted file mode 100644
index 9b70e8d220..0000000000
--- a/test/built-ins/Math/LOG2E/S15.8.1.4_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG2E of the Math Object has the attribute DontEnum
-es5id: 15.8.1.4_A2
-description: Checking if Math.LOG2E property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "LOG2E") {
-    $ERROR('#1: Value Property LOG2E of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="LOG2E"}\'');
-  }
-}
diff --git a/test/built-ins/Math/LOG2E/S15.8.1.4_A3.js b/test/built-ins/Math/LOG2E/S15.8.1.4_A3.js
deleted file mode 100644
index e31dbe98e5..0000000000
--- a/test/built-ins/Math/LOG2E/S15.8.1.4_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG2E of the Math Object has the attribute DontDelete
-es5id: 15.8.1.4_A3
-description: Checking if Math.LOG2E property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "LOG2E");
-
-// CHECK#1
-try {
-  if (delete Math.LOG2E === true) {
-    $ERROR('#1: Value Property LOG2E of the Math Object hasn\'t attribute DontDelete: \'Math.LOG2E === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/LOG2E/S15.8.1.4_A4.js b/test/built-ins/Math/LOG2E/S15.8.1.4_A4.js
deleted file mode 100644
index 579d02b125..0000000000
--- a/test/built-ins/Math/LOG2E/S15.8.1.4_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property LOG2E of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.4_A4
-description: Checking if Math.LOG2E property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.LOG2E;
-verifyNotWritable(Math, "LOG2E", null, 1);
-if (Math.LOG2E !== x) {
-  $ERROR('#1: Math.LOG2E hasn\'t ReadOnly: \'x = Math.LOG2E;Math.LOG2E = 1;Math.LOG2E === x\'');
-}
diff --git a/test/built-ins/Math/LOG2E/prop-desc.js b/test/built-ins/Math/LOG2E/prop-desc.js
new file mode 100644
index 0000000000..a43b115951
--- /dev/null
+++ b/test/built-ins/Math/LOG2E/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.log2e
+description: >
+  "LOG2E" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'LOG2E');
+verifyNotWritable(Math, 'LOG2E');
+verifyNotConfigurable(Math, 'LOG2E');
diff --git a/test/built-ins/Math/PI/S15.8.1.6_A2.js b/test/built-ins/Math/PI/S15.8.1.6_A2.js
deleted file mode 100644
index 06bff8e0d0..0000000000
--- a/test/built-ins/Math/PI/S15.8.1.6_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property PI of the Math Object has the attribute DontEnum
-es5id: 15.8.1.6_A2
-description: Checking if Math.PI property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "PI") {
-    $ERROR('#1: Value Property PI of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="PI"}\'');
-  }
-}
diff --git a/test/built-ins/Math/PI/S15.8.1.6_A3.js b/test/built-ins/Math/PI/S15.8.1.6_A3.js
deleted file mode 100644
index 1563c33a7b..0000000000
--- a/test/built-ins/Math/PI/S15.8.1.6_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property PI of the Math Object has the attribute DontDelete
-es5id: 15.8.1.6_A3
-description: Checking if Math.PI property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "PI");
-
-// CHECK#1
-try {
-  if (delete Math.PI === true) {
-    $ERROR('#1: Value Property PI of the Math Object hasn\'t attribute DontDelete: \'Math.PI === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/PI/S15.8.1.6_A4.js b/test/built-ins/Math/PI/S15.8.1.6_A4.js
deleted file mode 100644
index a65b24b2a6..0000000000
--- a/test/built-ins/Math/PI/S15.8.1.6_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property PI of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.6_A4
-description: Checking if Math.PI property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.PI;
-verifyNotWritable(Math, "PI", null, 1);
-if (Math.PI !== x) {
-  $ERROR('#1: Math.PI hasn\'t ReadOnly: \'x = Math.PI;Math.PI = 1;Math.PI === x\'');
-}
diff --git a/test/built-ins/Math/PI/prop-desc.js b/test/built-ins/Math/PI/prop-desc.js
new file mode 100644
index 0000000000..4ac3ff9bee
--- /dev/null
+++ b/test/built-ins/Math/PI/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.pi
+description: >
+  "PI" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'PI');
+verifyNotWritable(Math, 'PI');
+verifyNotConfigurable(Math, 'PI');
diff --git a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js b/test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js
deleted file mode 100644
index 6531ec7d4a..0000000000
--- a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT1_2 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.7_A2
-description: Checking if Math.SQRT1_2 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "SQRT1_2") {
-    $ERROR('#1: Value Property SQRT1_2 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="SQRT1_2"}\'');
-  }
-}
diff --git a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js b/test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js
deleted file mode 100644
index 1a95fb060b..0000000000
--- a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT1_2 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.7_A3
-description: Checking if Math.SQRT1_2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "SQRT1_2");
-
-// CHECK#1
-try {
-  if (delete Math.SQRT1_2 === true) {
-    $ERROR("#1: Value Property SQRT1_2 of the Math Object hasn't attribute DontDelete: 'Math.SQRT1_2 === true'");
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js b/test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js
deleted file mode 100644
index 3204f22246..0000000000
--- a/test/built-ins/Math/SQRT1_2/S15.8.1.7_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT1_2 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.7_A4
-description: Checking if Math.SQRT1_2 property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.SQRT1_2;
-verifyNotWritable(Math, "SQRT1_2", null, 1);
-if (Math.SQRT1_2 !== x) {
-  $ERROR('#1: Math.SQRT1_2 hasn\'t ReadOnly: \'x = Math.SQRT1_2;Math.SQRT1_2 = 1;Math.SQRT1_2 === x\'');
-}
diff --git a/test/built-ins/Math/SQRT1_2/prop-desc.js b/test/built-ins/Math/SQRT1_2/prop-desc.js
new file mode 100644
index 0000000000..854c6d7751
--- /dev/null
+++ b/test/built-ins/Math/SQRT1_2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sqrt1_2
+description: >
+  "SQRT1_2" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'SQRT1_2');
+verifyNotWritable(Math, 'SQRT1_2');
+verifyNotConfigurable(Math, 'SQRT1_2');
diff --git a/test/built-ins/Math/SQRT2/S15.8.1.8_A2.js b/test/built-ins/Math/SQRT2/S15.8.1.8_A2.js
deleted file mode 100644
index df2bee1e7e..0000000000
--- a/test/built-ins/Math/SQRT2/S15.8.1.8_A2.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT2 of the Math Object has the attribute DontEnum
-es5id: 15.8.1.8_A2
-description: Checking if Math.SQRT2 property has the attribute DontEnum
----*/
-
-// CHECK#1
-for(var x in Math) {
-  if(x === "SQRT2") {
-    $ERROR('#1: Value Property SQRT2 of the Math Object hasn\'t attribute DontEnum: \'for(x in Math) {x==="SQRT2"}\'');
-  }
-}
diff --git a/test/built-ins/Math/SQRT2/S15.8.1.8_A3.js b/test/built-ins/Math/SQRT2/S15.8.1.8_A3.js
deleted file mode 100644
index 0897581a36..0000000000
--- a/test/built-ins/Math/SQRT2/S15.8.1.8_A3.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT2 of the Math Object has the attribute DontDelete
-es5id: 15.8.1.8_A3
-description: Checking if Math.SQRT2 property has the attribute DontDelete
-includes: [propertyHelper.js]
----*/
-
-verifyNotConfigurable(Math, "SQRT2");
-
-// CHECK#1
-try {
-  if (delete Math.SQRT2 === true) {
-    $ERROR('#1: Value Property SQRT2 of the Math Object hasn\'t attribute DontDelete: \'Math.SQRT2 === true\'');
-  }
-} catch (e) {
-  if (e instanceof Test262Error) throw e;
-  assert(e instanceof TypeError);
-}
diff --git a/test/built-ins/Math/SQRT2/S15.8.1.8_A4.js b/test/built-ins/Math/SQRT2/S15.8.1.8_A4.js
deleted file mode 100644
index f318bbf1cb..0000000000
--- a/test/built-ins/Math/SQRT2/S15.8.1.8_A4.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2009 the Sputnik authors.  All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-info: Value Property SQRT2 of the Math Object has the attribute ReadOnly
-es5id: 15.8.1.8_A4
-description: Checking if Math.SQRT2 property has the attribute ReadOnly
-includes: [propertyHelper.js]
----*/
-
-// CHECK#1
-var x = Math.SQRT2;
-verifyNotWritable(Math, "SQRT2", null, 1);
-if (Math.SQRT2 !== x) {
-  $ERROR('#1: Math.SQRT2 hasn\'t ReadOnly: \'x = Math.SQRT2;Math.SQRT2 = 1;Math.SQRT2 === x\'');
-}
diff --git a/test/built-ins/Math/SQRT2/prop-desc.js b/test/built-ins/Math/SQRT2/prop-desc.js
new file mode 100644
index 0000000000..c2812dd258
--- /dev/null
+++ b/test/built-ins/Math/SQRT2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sqrt2
+description: >
+  "SQRT2" property of Math
+info: |
+  This property has the attributes { [[Writable]]: false, [[Enumerable]]:
+  false, [[Configurable]]: false }.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, 'SQRT2');
+verifyNotWritable(Math, 'SQRT2');
+verifyNotConfigurable(Math, 'SQRT2');
diff --git a/test/built-ins/Math/abs/prop-desc.js b/test/built-ins/Math/abs/prop-desc.js
new file mode 100644
index 0000000000..475cf20460
--- /dev/null
+++ b/test/built-ins/Math/abs/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.abs
+description: >
+  "abs" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "abs");
+verifyWritable(Math, "abs");
+verifyConfigurable(Math, "abs");
diff --git a/test/built-ins/Math/acos/prop-desc.js b/test/built-ins/Math/acos/prop-desc.js
new file mode 100644
index 0000000000..cc39102df5
--- /dev/null
+++ b/test/built-ins/Math/acos/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.acos
+description: >
+  "acos" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "acos");
+verifyWritable(Math, "acos");
+verifyConfigurable(Math, "acos");
diff --git a/test/built-ins/Math/acosh/acosh-descriptor.js b/test/built-ins/Math/acosh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/acosh/acosh-descriptor.js
rename to test/built-ins/Math/acosh/prop-desc.js
index 4a09f81b3c..437001afe1 100644
--- a/test/built-ins/Math/acosh/acosh-descriptor.js
+++ b/test/built-ins/Math/acosh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.acosh
-includes: [propertyHelper.js]
-es6id: 20.2.2.3
----*/
-
-verifyWritable(Math, "acosh");
-verifyNotEnumerable(Math, "acosh");
-verifyConfigurable(Math, "acosh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.acosh
+includes: [propertyHelper.js]
+es6id: 20.2.2.3
+---*/
+
+verifyNotEnumerable(Math, "acosh");
+verifyWritable(Math, "acosh");
+verifyConfigurable(Math, "acosh");
diff --git a/test/built-ins/Math/asin/prop-desc.js b/test/built-ins/Math/asin/prop-desc.js
new file mode 100644
index 0000000000..3e6e843f92
--- /dev/null
+++ b/test/built-ins/Math/asin/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.acos
+description: >
+  "asin" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "asin");
+verifyWritable(Math, "asin");
+verifyConfigurable(Math, "asin");
diff --git a/test/built-ins/Math/asinh/asinh-descriptor.js b/test/built-ins/Math/asinh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/asinh/asinh-descriptor.js
rename to test/built-ins/Math/asinh/prop-desc.js
index 920bd6c568..47a29f78d6 100644
--- a/test/built-ins/Math/asinh/asinh-descriptor.js
+++ b/test/built-ins/Math/asinh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.asinh
-includes: [propertyHelper.js]
-es6id: 20.2.2.5
----*/
-
-verifyWritable(Math, "asinh");
-verifyNotEnumerable(Math, "asinh");
-verifyConfigurable(Math, "asinh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.asinh
+includes: [propertyHelper.js]
+es6id: 20.2.2.5
+---*/
+
+verifyNotEnumerable(Math, "asinh");
+verifyWritable(Math, "asinh");
+verifyConfigurable(Math, "asinh");
diff --git a/test/built-ins/Math/atan/prop-desc.js b/test/built-ins/Math/atan/prop-desc.js
new file mode 100644
index 0000000000..d73e56a83a
--- /dev/null
+++ b/test/built-ins/Math/atan/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.atan
+description: >
+  "atan" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "atan");
+verifyWritable(Math, "atan");
+verifyConfigurable(Math, "atan");
diff --git a/test/built-ins/Math/atan2/prop-desc.js b/test/built-ins/Math/atan2/prop-desc.js
new file mode 100644
index 0000000000..32fa7f1895
--- /dev/null
+++ b/test/built-ins/Math/atan2/prop-desc.js
@@ -0,0 +1,16 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-math.atan2
+description: >
+  "atan2" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "atan2");
+verifyWritable(Math, "atan2");
+verifyConfigurable(Math, "atan2");
diff --git a/test/built-ins/Math/atanh/atanh-descriptor.js b/test/built-ins/Math/atanh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/atanh/atanh-descriptor.js
rename to test/built-ins/Math/atanh/prop-desc.js
index eda00ca5f3..6956822fc1 100644
--- a/test/built-ins/Math/atanh/atanh-descriptor.js
+++ b/test/built-ins/Math/atanh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.atanh
-includes: [propertyHelper.js]
-es6id: 20.2.2.7
----*/
-
-verifyWritable(Math, "atanh");
-verifyNotEnumerable(Math, "atanh");
-verifyConfigurable(Math, "atanh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.atanh
+includes: [propertyHelper.js]
+es6id: 20.2.2.7
+---*/
+
+verifyNotEnumerable(Math, "atanh");
+verifyWritable(Math, "atanh");
+verifyConfigurable(Math, "atanh");
diff --git a/test/built-ins/Math/cbrt/cbrt-descriptor.js b/test/built-ins/Math/cbrt/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/cbrt/cbrt-descriptor.js
rename to test/built-ins/Math/cbrt/prop-desc.js
index da6a3739b6..0a5a2657cc 100644
--- a/test/built-ins/Math/cbrt/cbrt-descriptor.js
+++ b/test/built-ins/Math/cbrt/prop-desc.js
@@ -7,6 +7,6 @@ includes: [propertyHelper.js]
 es6id: 20.2.2.9
 ---*/
 
-verifyWritable(Math, "cbrt");
 verifyNotEnumerable(Math, "cbrt");
+verifyWritable(Math, "cbrt");
 verifyConfigurable(Math, "cbrt");
diff --git a/test/built-ins/Math/ceil/prop-desc.js b/test/built-ins/Math/ceil/prop-desc.js
new file mode 100644
index 0000000000..e359fbbfc0
--- /dev/null
+++ b/test/built-ins/Math/ceil/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.ceil
+description: >
+  "ceil" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "ceil");
+verifyWritable(Math, "ceil");
+verifyConfigurable(Math, "ceil");
diff --git a/test/built-ins/Math/clz32/prop-desc.js b/test/built-ins/Math/clz32/prop-desc.js
new file mode 100644
index 0000000000..000faefd22
--- /dev/null
+++ b/test/built-ins/Math/clz32/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.clz32
+description: >
+  "clz32" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "clz32");
+verifyWritable(Math, "clz32");
+verifyConfigurable(Math, "clz32");
diff --git a/test/built-ins/Math/cos/prop-desc.js b/test/built-ins/Math/cos/prop-desc.js
new file mode 100644
index 0000000000..dc82b5b5c3
--- /dev/null
+++ b/test/built-ins/Math/cos/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.cos
+description: >
+  "cos" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "cos");
+verifyWritable(Math, "cos");
+verifyConfigurable(Math, "cos");
diff --git a/test/built-ins/Math/cosh/cosh-descriptor.js b/test/built-ins/Math/cosh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/cosh/cosh-descriptor.js
rename to test/built-ins/Math/cosh/prop-desc.js
index 0bfc96c3ee..fe291a0e8d 100644
--- a/test/built-ins/Math/cosh/cosh-descriptor.js
+++ b/test/built-ins/Math/cosh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.cosh
-includes: [propertyHelper.js]
-es6id: 20.2.2.13
----*/
-
-verifyWritable(Math, "cosh");
-verifyNotEnumerable(Math, "cosh");
-verifyConfigurable(Math, "cosh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.cosh
+includes: [propertyHelper.js]
+es6id: 20.2.2.13
+---*/
+
+verifyNotEnumerable(Math, "cosh");
+verifyWritable(Math, "cosh");
+verifyConfigurable(Math, "cosh");
diff --git a/test/built-ins/Math/exp/prop-desc.js b/test/built-ins/Math/exp/prop-desc.js
new file mode 100644
index 0000000000..7ae58d86a4
--- /dev/null
+++ b/test/built-ins/Math/exp/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.exp
+description: >
+  "exp" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "exp");
+verifyWritable(Math, "exp");
+verifyConfigurable(Math, "exp");
diff --git a/test/built-ins/Math/expm1/expm1-descriptor.js b/test/built-ins/Math/expm1/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/expm1/expm1-descriptor.js
rename to test/built-ins/Math/expm1/prop-desc.js
index c5cadacfd4..c7e445eef4 100644
--- a/test/built-ins/Math/expm1/expm1-descriptor.js
+++ b/test/built-ins/Math/expm1/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.expm1
-includes: [propertyHelper.js]
-es6id: 20.2.2.15
----*/
-
-verifyWritable(Math, "expm1");
-verifyNotEnumerable(Math, "expm1");
-verifyConfigurable(Math, "expm1");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.expm1
+includes: [propertyHelper.js]
+es6id: 20.2.2.15
+---*/
+
+verifyNotEnumerable(Math, "expm1");
+verifyWritable(Math, "expm1");
+verifyConfigurable(Math, "expm1");
diff --git a/test/built-ins/Math/floor/prop-desc.js b/test/built-ins/Math/floor/prop-desc.js
new file mode 100644
index 0000000000..6e92a9ba90
--- /dev/null
+++ b/test/built-ins/Math/floor/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.floor
+description: >
+  "floor" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "floor");
+verifyWritable(Math, "floor");
+verifyConfigurable(Math, "floor");
diff --git a/test/built-ins/Math/fround/prop-desc.js b/test/built-ins/Math/fround/prop-desc.js
new file mode 100644
index 0000000000..a1a76dbf33
--- /dev/null
+++ b/test/built-ins/Math/fround/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.fround
+description: >
+  "fround" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "fround");
+verifyWritable(Math, "fround");
+verifyConfigurable(Math, "fround");
diff --git a/test/built-ins/Math/hypot/hypot-descriptor.js b/test/built-ins/Math/hypot/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/hypot/hypot-descriptor.js
rename to test/built-ins/Math/hypot/prop-desc.js
index dcd74e6b76..e0b94b2015 100644
--- a/test/built-ins/Math/hypot/hypot-descriptor.js
+++ b/test/built-ins/Math/hypot/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.hypot
-includes: [propertyHelper.js]
-es6id: 20.2.2.18
----*/
-
-verifyWritable(Math, "hypot");
-verifyNotEnumerable(Math, "hypot");
-verifyConfigurable(Math, "hypot");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.hypot
+includes: [propertyHelper.js]
+es6id: 20.2.2.18
+---*/
+
+verifyNotEnumerable(Math, "hypot");
+verifyWritable(Math, "hypot");
+verifyConfigurable(Math, "hypot");
diff --git a/test/built-ins/Math/imul/imul-descriptor.js b/test/built-ins/Math/imul/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/imul/imul-descriptor.js
rename to test/built-ins/Math/imul/prop-desc.js
index 1488414905..6cc5ac4845 100644
--- a/test/built-ins/Math/imul/imul-descriptor.js
+++ b/test/built-ins/Math/imul/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.imul
-includes: [propertyHelper.js]
-es6id: 20.2.2.19
----*/
-
-verifyWritable(Math, "imul");
-verifyNotEnumerable(Math, "imul");
-verifyConfigurable(Math, "imul");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.imul
+includes: [propertyHelper.js]
+es6id: 20.2.2.19
+---*/
+
+verifyNotEnumerable(Math, "imul");
+verifyWritable(Math, "imul");
+verifyConfigurable(Math, "imul");
diff --git a/test/built-ins/Math/log/prop-desc.js b/test/built-ins/Math/log/prop-desc.js
new file mode 100644
index 0000000000..528478098b
--- /dev/null
+++ b/test/built-ins/Math/log/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.log
+description: >
+  "log" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "log");
+verifyWritable(Math, "log");
+verifyConfigurable(Math, "log");
diff --git a/test/built-ins/Math/log10/Log10-descriptor.js b/test/built-ins/Math/log10/prop-desc.js
similarity index 82%
rename from test/built-ins/Math/log10/Log10-descriptor.js
rename to test/built-ins/Math/log10/prop-desc.js
index 109afc4e91..5aa9981102 100644
--- a/test/built-ins/Math/log10/Log10-descriptor.js
+++ b/test/built-ins/Math/log10/prop-desc.js
@@ -1,12 +1,13 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing length property of Math.log10
-includes: [propertyHelper.js]
-es6id: 20.2.2.20
----*/
-
-verifyWritable(Math, "log10");
-verifyNotEnumerable(Math, "log10");
-verifyConfigurable(Math, "log10");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+  "log10" property of Math
+includes: [propertyHelper.js]
+es6id: 20.2.2.20
+---*/
+
+verifyNotEnumerable(Math, "log10");
+verifyWritable(Math, "log10");
+verifyConfigurable(Math, "log10");
diff --git a/test/built-ins/Math/log1p/Log1p-descriptor.js b/test/built-ins/Math/log1p/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/log1p/Log1p-descriptor.js
rename to test/built-ins/Math/log1p/prop-desc.js
index dec94611f9..6cbcb3ee0e 100644
--- a/test/built-ins/Math/log1p/Log1p-descriptor.js
+++ b/test/built-ins/Math/log1p/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.log1p
-includes: [propertyHelper.js]
-es6id: 20.2.2.21
----*/
-
-verifyWritable(Math, "log1p");
-verifyNotEnumerable(Math, "log1p");
-verifyConfigurable(Math, "log1p");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.log1p
+includes: [propertyHelper.js]
+es6id: 20.2.2.21
+---*/
+
+verifyNotEnumerable(Math, "log1p");
+verifyWritable(Math, "log1p");
+verifyConfigurable(Math, "log1p");
diff --git a/test/built-ins/Math/log2/log2-descriptor.js b/test/built-ins/Math/log2/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/log2/log2-descriptor.js
rename to test/built-ins/Math/log2/prop-desc.js
index 3f48a03590..a932f33c34 100644
--- a/test/built-ins/Math/log2/log2-descriptor.js
+++ b/test/built-ins/Math/log2/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.log2
-includes: [propertyHelper.js]
-es6id: 20.2.2.23
----*/
-
-verifyWritable(Math, "log2");
-verifyNotEnumerable(Math, "log2");
-verifyConfigurable(Math, "log2");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.log2
+includes: [propertyHelper.js]
+es6id: 20.2.2.23
+---*/
+
+verifyNotEnumerable(Math, "log2");
+verifyWritable(Math, "log2");
+verifyConfigurable(Math, "log2");
diff --git a/test/built-ins/Math/max/prop-desc.js b/test/built-ins/Math/max/prop-desc.js
new file mode 100644
index 0000000000..9117695316
--- /dev/null
+++ b/test/built-ins/Math/max/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.max
+description: >
+  "max" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "max");
+verifyWritable(Math, "max");
+verifyConfigurable(Math, "max");
diff --git a/test/built-ins/Math/min/prop-desc.js b/test/built-ins/Math/min/prop-desc.js
new file mode 100644
index 0000000000..6f774acd68
--- /dev/null
+++ b/test/built-ins/Math/min/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.min
+description: >
+  "min" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "min");
+verifyWritable(Math, "min");
+verifyConfigurable(Math, "min");
diff --git a/test/built-ins/Math/pow/math.pow.js b/test/built-ins/Math/pow/prop-desc.js
similarity index 98%
rename from test/built-ins/Math/pow/math.pow.js
rename to test/built-ins/Math/pow/prop-desc.js
index 60e0f04508..5f65a0d748 100644
--- a/test/built-ins/Math/pow/math.pow.js
+++ b/test/built-ins/Math/pow/prop-desc.js
@@ -5,7 +5,7 @@
 esid: sec-math.pow
 description: >
   Math.pow ( base, exponent )
-
+info: |
   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]
diff --git a/test/built-ins/Math/random/prop-desc.js b/test/built-ins/Math/random/prop-desc.js
new file mode 100644
index 0000000000..4684fbe236
--- /dev/null
+++ b/test/built-ins/Math/random/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.random
+description: >
+  "random" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "random");
+verifyWritable(Math, "random");
+verifyConfigurable(Math, "random");
diff --git a/test/built-ins/Math/round/prop-desc.js b/test/built-ins/Math/round/prop-desc.js
new file mode 100644
index 0000000000..b0f69d6a86
--- /dev/null
+++ b/test/built-ins/Math/round/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.round
+description: >
+  "round" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "round");
+verifyWritable(Math, "round");
+verifyConfigurable(Math, "round");
diff --git a/test/built-ins/Math/sign/sign-descriptor.js b/test/built-ins/Math/sign/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/sign/sign-descriptor.js
rename to test/built-ins/Math/sign/prop-desc.js
index a4e3c91d32..18c389c462 100644
--- a/test/built-ins/Math/sign/sign-descriptor.js
+++ b/test/built-ins/Math/sign/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.sign
-includes: [propertyHelper.js]
-es6id: 20.2.2.29
----*/
-
-verifyWritable(Math, "sign");
-verifyNotEnumerable(Math, "sign");
-verifyConfigurable(Math, "sign");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.sign
+includes: [propertyHelper.js]
+es6id: 20.2.2.29
+---*/
+
+verifyNotEnumerable(Math, "sign");
+verifyWritable(Math, "sign");
+verifyConfigurable(Math, "sign");
diff --git a/test/built-ins/Math/sin/prop-desc.js b/test/built-ins/Math/sin/prop-desc.js
new file mode 100644
index 0000000000..d31c0a1174
--- /dev/null
+++ b/test/built-ins/Math/sin/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sin
+description: >
+  "sin" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "sin");
+verifyWritable(Math, "sin");
+verifyConfigurable(Math, "sin");
diff --git a/test/built-ins/Math/sinh/sinh-descriptor.js b/test/built-ins/Math/sinh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/sinh/sinh-descriptor.js
rename to test/built-ins/Math/sinh/prop-desc.js
index 0d0bd3550e..c875549e8f 100644
--- a/test/built-ins/Math/sinh/sinh-descriptor.js
+++ b/test/built-ins/Math/sinh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.sinh
-includes: [propertyHelper.js]
-es6id: 20.2.2.31
----*/
-
-verifyWritable(Math, "sinh");
-verifyNotEnumerable(Math, "sinh");
-verifyConfigurable(Math, "sinh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.sinh
+includes: [propertyHelper.js]
+es6id: 20.2.2.31
+---*/
+
+verifyNotEnumerable(Math, "sinh");
+verifyWritable(Math, "sinh");
+verifyConfigurable(Math, "sinh");
diff --git a/test/built-ins/Math/sqrt/prop-desc.js b/test/built-ins/Math/sqrt/prop-desc.js
new file mode 100644
index 0000000000..47279a6d26
--- /dev/null
+++ b/test/built-ins/Math/sqrt/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.sqrt
+description: >
+  "sqrt" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "sqrt");
+verifyWritable(Math, "sqrt");
+verifyConfigurable(Math, "sqrt");
diff --git a/test/built-ins/Math/tan/prop-desc.js b/test/built-ins/Math/tan/prop-desc.js
new file mode 100644
index 0000000000..0974c7c432
--- /dev/null
+++ b/test/built-ins/Math/tan/prop-desc.js
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.tan
+description: >
+  "tan" property of Math
+info: |
+  Section 17: 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]
+---*/
+
+verifyNotEnumerable(Math, "tan");
+verifyWritable(Math, "tan");
+verifyConfigurable(Math, "tan");
diff --git a/test/built-ins/Math/tanh/tanh-descriptor.js b/test/built-ins/Math/tanh/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/tanh/tanh-descriptor.js
rename to test/built-ins/Math/tanh/prop-desc.js
index bd6ab668cc..9860383004 100644
--- a/test/built-ins/Math/tanh/tanh-descriptor.js
+++ b/test/built-ins/Math/tanh/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.tanh
-includes: [propertyHelper.js]
-es6id: 20.2.2.34
----*/
-
-verifyWritable(Math, "tanh");
-verifyNotEnumerable(Math, "tanh");
-verifyConfigurable(Math, "tanh");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.tanh
+includes: [propertyHelper.js]
+es6id: 20.2.2.34
+---*/
+
+verifyNotEnumerable(Math, "tanh");
+verifyWritable(Math, "tanh");
+verifyConfigurable(Math, "tanh");
diff --git a/test/built-ins/Math/trunc/trunc-descriptor.js b/test/built-ins/Math/trunc/prop-desc.js
similarity index 96%
rename from test/built-ins/Math/trunc/trunc-descriptor.js
rename to test/built-ins/Math/trunc/prop-desc.js
index 9088c3c9d2..15bf4c5ca1 100644
--- a/test/built-ins/Math/trunc/trunc-descriptor.js
+++ b/test/built-ins/Math/trunc/prop-desc.js
@@ -1,12 +1,12 @@
-// Copyright 2015 Microsoft Corporation. All rights reserved.
-// This code is governed by the license found in the LICENSE file.
-
-/*---
-description: Testing descriptor property of Math.trunc
-includes: [propertyHelper.js]
-es6id: 20.2.2.35
----*/
-
-verifyWritable(Math, "trunc");
-verifyNotEnumerable(Math, "trunc");
-verifyConfigurable(Math, "trunc");
+// Copyright 2015 Microsoft Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Testing descriptor property of Math.trunc
+includes: [propertyHelper.js]
+es6id: 20.2.2.35
+---*/
+
+verifyNotEnumerable(Math, "trunc");
+verifyWritable(Math, "trunc");
+verifyConfigurable(Math, "trunc");
-- 
GitLab