1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/**
* @name: S15.7.1.1_A1;
* @section: 15.7.1.1;
* @assertion: Number([value]) returns a number value (not a Number object) computed by ToNumber(value) if value was supplied;
* @description: Used values "10", 10, new String("10"), new Object(10) and "abc";
*/
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
id: "S15.7.1.1_A1",
path: "TestCases/15_Native/15.7_Number_Objects/15.7.1_The_Number_Constructor_Called_as_a_Function/S15.7.1.1_A1.js",
assertion: "Number([value]) returns a number value (not a Number object) computed by ToNumber(value) if value was supplied",
description: "Used values \"10\", 10, new String(\"10\"), new Object(10) and \"abc\"",
test: function testcase() {
//CHECK#1
if( typeof Number("10") !== "number" ) {
$ERROR('#1: typeof Number("10") should be "number", actual is "'+typeof Number("10")+'"');
}
//CHECK#2
if( typeof Number(10) !== "number" ) {
$ERROR('#2: typeof Number(10) should be "number", actual is "'+typeof Number(10)+'"');
}
//CHECK#3
if( typeof Number(new String("10")) !== "number" ) {
$ERROR('#3: typeof Number(new String("10")) should be "number", actual is "'+typeof Number(new String("10"))+'"');
}
//CHECK#4
if( typeof Number(new Object(10)) !== "number" ) {
$ERROR('#4: typeof Number(new Object(10)) should be "number", actual is "'+typeof Number(new Object(10))+'"');
}
//CHECK #5
if( typeof Number("abc") !== "number" ) {
$ERROR('#5: typeof Number("abc") should be "number", actual is "'+typeof Number("abc")+'"');
}
//CHECK #6
if( !isNaN(Number("abc"))) {
$ERROR('#6: Number("abc")) should be NaN');
}
}
});
|