diff --git a/test/built-ins/Number/isInteger/Number.isInteger_NonNumber.js b/test/built-ins/Number/isInteger/Number.isInteger_NonNumber.js deleted file mode 100644 index 382c52a4a289ff41897fb02be7508c3be25b927e..0000000000000000000000000000000000000000 --- a/test/built-ins/Number/isInteger/Number.isInteger_NonNumber.js +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2014 Ryan Lewis. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es6id: 20.1.2.3 -author: Ryan Lewis -description: > - Number.isInteger should return false if called with a string - (non-Number) ----*/ - -assert.sameValue(Number.isInteger('2'), false, 'Number.isInteger("2")'); diff --git a/test/built-ins/Number/isInteger/Number.isInteger_String.js b/test/built-ins/Number/isInteger/Number.isInteger_String.js deleted file mode 100644 index 71ddf854de6f44b16002d2cca3bd8b6df9ec3cce..0000000000000000000000000000000000000000 --- a/test/built-ins/Number/isInteger/Number.isInteger_String.js +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2014 Ryan Lewis. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es6id: 20.1.2.3 -author: Ryan Lewis -description: > - Number.isInteger should return false if called with a string - (non-Number) ----*/ - -assert.sameValue(Number.isInteger('word'), false, 'Number.isInteger("word")'); diff --git a/test/built-ins/Number/isInteger/Number.isInteger_Success.js b/test/built-ins/Number/isInteger/Number.isInteger_Success.js deleted file mode 100644 index d80454ef3df59fa3c14a709090332fddb111a52f..0000000000000000000000000000000000000000 --- a/test/built-ins/Number/isInteger/Number.isInteger_Success.js +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) 2014 Ryan Lewis. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. - -/*--- -es6id: 20.1.2.3 -author: Ryan Lewis -description: Number.isInteger should return true if called with an integer. ----*/ - -assert.sameValue(Number.isInteger(478), true, 'Number.isInteger(478)'); diff --git a/test/built-ins/Number/isInteger/arg-is-not-number.js b/test/built-ins/Number/isInteger/arg-is-not-number.js new file mode 100644 index 0000000000000000000000000000000000000000..81614c2396ce718794ff99ecd7595e17ffd55e3f --- /dev/null +++ b/test/built-ins/Number/isInteger/arg-is-not-number.js @@ -0,0 +1,25 @@ +// 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.1.2.3 +esid: sec-number.isinteger +description: > + Return false if argument is not Number +info: | + Number.isInteger ( number ) + + 1. If Type(number) is not Number, return false. + [...] +features: [Symbol] +---*/ + +assert.sameValue(Number.isInteger("1"), false, "string"); +assert.sameValue(Number.isInteger([1]), false, "[1]"); +assert.sameValue(Number.isInteger(new Number(42)), false, "Number object"); +assert.sameValue(Number.isInteger(false), false, "false"); +assert.sameValue(Number.isInteger(true), false, "true"); +assert.sameValue(Number.isInteger(undefined), false, "undefined"); +assert.sameValue(Number.isInteger(null), false, "null"); +assert.sameValue(Number.isInteger(Symbol("1")), false, "symbol"); +assert.sameValue(Number.isInteger(), false, "no arg"); diff --git a/test/built-ins/Number/isInteger/Number.isInteger_Infinity.js b/test/built-ins/Number/isInteger/infinity.js similarity index 65% rename from test/built-ins/Number/isInteger/Number.isInteger_Infinity.js rename to test/built-ins/Number/isInteger/infinity.js index 4eb328237198786dc6811668961907a947c12f69..0897e79a8ee71a246f78db5716abf487c7bb6615 100644 --- a/test/built-ins/Number/isInteger/Number.isInteger_Infinity.js +++ b/test/built-ins/Number/isInteger/infinity.js @@ -7,4 +7,5 @@ author: Ryan Lewis description: Number.isInteger should return false if called with Infinity. ---*/ -assert.sameValue(Number.isInteger(Infinity), false, 'Number.isInteger(Infinity)'); +assert.sameValue(Number.isInteger(Infinity), false, 'Infinity'); +assert.sameValue(Number.isInteger(-Infinity), false, '-Infinity'); diff --git a/test/built-ins/Number/isInteger/integers.js b/test/built-ins/Number/isInteger/integers.js new file mode 100644 index 0000000000000000000000000000000000000000..10d5aff50c5015098e3629dccb22ad9baee16ced --- /dev/null +++ b/test/built-ins/Number/isInteger/integers.js @@ -0,0 +1,17 @@ +// Copyright (c) 2014 Ryan Lewis. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 20.1.2.3 +author: Ryan Lewis +description: Number.isInteger should return true if called with an integer. +---*/ + +assert.sameValue(Number.isInteger(478), true, 'Number.isInteger(478)'); +assert.sameValue(Number.isInteger(-0), true, '-0'); +assert.sameValue(Number.isInteger(0), true, '0'); +assert.sameValue(Number.isInteger(-1), true, '-1'); +assert.sameValue(Number.isInteger(9007199254740991), true, '9007199254740991'); +assert.sameValue(Number.isInteger(-9007199254740991), true, '-9007199254740991'); +assert.sameValue(Number.isInteger(9007199254740992), true, '9007199254740992'); +assert.sameValue(Number.isInteger(-9007199254740992), true, '-9007199254740992'); diff --git a/test/built-ins/Number/isInteger/Number.isInteger_NaN.js b/test/built-ins/Number/isInteger/nan.js similarity index 100% rename from test/built-ins/Number/isInteger/Number.isInteger_NaN.js rename to test/built-ins/Number/isInteger/nan.js diff --git a/test/built-ins/Number/isInteger/Number.isInteger_Double.js b/test/built-ins/Number/isInteger/non-integers.js similarity index 50% rename from test/built-ins/Number/isInteger/Number.isInteger_Double.js rename to test/built-ins/Number/isInteger/non-integers.js index 7cf69d73bf1c8f6ec5e758d22bfc73aebbbd5959..dd0e6b10781da9c913024878f46b49dc8a75f516 100644 --- a/test/built-ins/Number/isInteger/Number.isInteger_Double.js +++ b/test/built-ins/Number/isInteger/non-integers.js @@ -7,4 +7,7 @@ author: Ryan Lewis description: Number.isInteger should return false if called with a double. ---*/ -assert.sameValue(Number.isInteger(6.75), false, 'Number.isInteger(6.75)'); +assert.sameValue(Number.isInteger(6.75), false, '6.75'); +assert.sameValue(Number.isInteger(0.000001), false, '0.000001'); +assert.sameValue(Number.isInteger(-0.000001), false, '-0.000001'); +assert.sameValue(Number.isInteger(11e-1), false, '11e-1'); diff --git a/test/built-ins/Number/isInteger/prop-desc.js b/test/built-ins/Number/isInteger/prop-desc.js new file mode 100644 index 0000000000000000000000000000000000000000..5ac538f5da531d31ad017bb80159a6c630bb9bfb --- /dev/null +++ b/test/built-ins/Number/isInteger/prop-desc.js @@ -0,0 +1,20 @@ +// 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.1.2.3 +esid: sec-number.isinteger +description: > + "isInteger" property of Number +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] +---*/ + +verifyNotEnumerable(Number, "isInteger"); +verifyWritable(Number, "isInteger"); +verifyConfigurable(Number, "isInteger");