blob: 904acd88ddab63a6e91bc74c71af503aabb3d501 [file] [log] [blame]
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: |
ToObject conversion from Number: create a new Number object
whose [[value]] property is set to the value of the number
es5id: 9.9_A4
description: Converting from various numbers to Object
---*/
assert.sameValue(Object(0).valueOf(), 0, 'Object(0).valueOf() must return 0');
assert.sameValue(typeof Object(0), "object", 'The value of `typeof Object(0)` is expected to be "object"');
assert.sameValue(
Object(0).constructor.prototype,
Number.prototype,
'The value of Object(0).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(Object(-0).valueOf(), -0, 'Object(-0).valueOf() must return -0');
assert.sameValue(typeof Object(-0), "object", 'The value of `typeof Object(-0)` is expected to be "object"');
assert.sameValue(
Object(-0).constructor.prototype,
Number.prototype,
'The value of Object(-0).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(Object(1).valueOf(), 1, 'Object(1).valueOf() must return 1');
assert.sameValue(typeof Object(1), "object", 'The value of `typeof Object(1)` is expected to be "object"');
assert.sameValue(
Object(1).constructor.prototype,
Number.prototype,
'The value of Object(1).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(Object(-1).valueOf(), -1, 'Object(-1).valueOf() must return -1');
assert.sameValue(typeof Object(-1), "object", 'The value of `typeof Object(-1)` is expected to be "object"');
assert.sameValue(
Object(-1).constructor.prototype,
Number.prototype,
'The value of Object(-1).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(
Object(Number.MIN_VALUE).valueOf(),
Number.MIN_VALUE,
'Object(Number.MIN_VALUE).valueOf() returns Number.MIN_VALUE'
);
assert.sameValue(
typeof Object(Number.MIN_VALUE),
"object",
'The value of `typeof Object(Number.MIN_VALUE)` is expected to be "object"'
);
assert.sameValue(
Object(Number.MIN_VALUE).constructor.prototype,
Number.prototype,
'The value of Object(Number.MIN_VALUE).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(
Object(Number.MAX_VALUE).valueOf(),
Number.MAX_VALUE,
'Object(Number.MAX_VALUE).valueOf() returns Number.MAX_VALUE'
);
assert.sameValue(
typeof Object(Number.MAX_VALUE),
"object",
'The value of `typeof Object(Number.MAX_VALUE)` is expected to be "object"'
);
assert.sameValue(
Object(Number.MAX_VALUE).constructor.prototype,
Number.prototype,
'The value of Object(Number.MAX_VALUE).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(
Object(Number.POSITIVE_INFINITY).valueOf(),
Number.POSITIVE_INFINITY,
'Object(Number.POSITIVE_INFINITY).valueOf() returns Number.POSITIVE_INFINITY'
);
assert.sameValue(
typeof Object(Number.POSITIVE_INFINITY),
"object",
'The value of `typeof Object(Number.POSITIVE_INFINITY)` is expected to be "object"'
);
assert.sameValue(
Object(Number.POSITIVE_INFINITY).constructor.prototype,
Number.prototype,
'The value of Object(Number.POSITIVE_INFINITY).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(
Object(Number.NEGATIVE_INFINITY).valueOf(),
Number.NEGATIVE_INFINITY,
'Object(Number.NEGATIVE_INFINITY).valueOf() returns Number.NEGATIVE_INFINITY'
);
assert.sameValue(
typeof Object(Number.NEGATIVE_INFINITY),
"object",
'The value of `typeof Object(Number.NEGATIVE_INFINITY)` is expected to be "object"'
);
assert.sameValue(
Object(Number.NEGATIVE_INFINITY).constructor.prototype,
Number.prototype,
'The value of Object(Number.NEGATIVE_INFINITY).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(Object(NaN).valueOf(), NaN, 'Object(NaN).valueOf() returns NaN');
assert.sameValue(
typeof Object(Number.NaN),
"object",
'The value of `typeof Object(Number.NaN)` is expected to be "object"'
);
assert.sameValue(
Object(Number.NaN).constructor.prototype,
Number.prototype,
'The value of Object(Number.NaN).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(Object(1.2345).valueOf(), 1.2345, 'Object(1.2345).valueOf() must return 1.2345');
assert.sameValue(typeof Object(1.2345), "object", 'The value of `typeof Object(1.2345)` is expected to be "object"');
assert.sameValue(
Object(1.2345).constructor.prototype,
Number.prototype,
'The value of Object(1.2345).constructor.prototype is expected to equal the value of Number.prototype'
);
assert.sameValue(Object(-1.2345).valueOf(), -1.2345, 'Object(-1.2345).valueOf() must return -1.2345');
assert.sameValue(typeof Object(-1.2345), "object", 'The value of `typeof Object(-1.2345)` is expected to be "object"');
assert.sameValue(
Object(-1.2345).constructor.prototype,
Number.prototype,
'The value of Object(-1.2345).constructor.prototype is expected to equal the value of Number.prototype'
);