Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: test/webkit/ToNumber.js

Issue 18068003: Migrated several tests from blink to V8 repository. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « test/webkit/Object-keys-expected.txt ('k') | test/webkit/ToNumber-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 //
4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions
6 // are met:
7 // 1. Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 // 2. Redistributions in binary form must reproduce the above copyright
10 // notice, this list of conditions and the following disclaimer in the
11 // documentation and/or other materials provided with the distribution.
12 //
13 // THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y
14 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 // DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y
17 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N
20 // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24 description('Test the JavaScript ToNumber operation.')
25
26 var nullCharacter = String.fromCharCode(0);
27 var nonASCIICharacter = String.fromCharCode(0x100);
28 var nonASCIINonSpaceCharacter = String.fromCharCode(0x13A0);
29 var illegalUTF16Sequence = String.fromCharCode(0xD800);
30
31 var tab = String.fromCharCode(9);
32 var nbsp = String.fromCharCode(0xA0);
33 var ff = String.fromCharCode(0xC);
34 var vt = String.fromCharCode(0xB);
35 var cr = String.fromCharCode(0xD);
36 var lf = String.fromCharCode(0xA);
37 var ls = String.fromCharCode(0x2028);
38 var ps = String.fromCharCode(0x2029);
39
40 var oghamSpaceMark = String.fromCharCode(0x1680);
41 var mongolianVowelSeparator = String.fromCharCode(0x180E);
42 var enQuad = String.fromCharCode(0x2000);
43 var emQuad = String.fromCharCode(0x2001);
44 var enSpace = String.fromCharCode(0x2002);
45 var emSpace = String.fromCharCode(0x2003);
46 var threePerEmSpace = String.fromCharCode(0x2004);
47 var fourPerEmSpace = String.fromCharCode(0x2005);
48 var sixPerEmSpace = String.fromCharCode(0x2006);
49 var figureSpace = String.fromCharCode(0x2007);
50 var punctuationSpace = String.fromCharCode(0x2008);
51 var thinSpace = String.fromCharCode(0x2009);
52 var hairSpace = String.fromCharCode(0x200A);
53 var narrowNoBreakSpace = String.fromCharCode(0x202F);
54 var mediumMathematicalSpace = String.fromCharCode(0x205F);
55 var ideographicSpace = String.fromCharCode(0x3000);
56
57 shouldBe("+undefined", "NaN");
58 shouldBe("+null", "0");
59 shouldBe("+false", "0");
60 shouldBe("+true", "1");
61 shouldBe("+2", "2");
62 shouldBe("+''", "0");
63 shouldBe("+' '", "0");
64 shouldBe("+' 1'", "1");
65 shouldBe("+'1 '", "1");
66 shouldBe("+'x1'", "NaN");
67 shouldBe("+'1x'", "NaN");
68 shouldBe("+'0x1'", "1");
69 shouldBe("+'1x0'", "NaN");
70 shouldBe("+(nullCharacter + '1')", "NaN");
71 shouldBe("+('1' + nullCharacter)", "NaN");
72 shouldBe("+('1' + nullCharacter + '1')", "NaN");
73 shouldBe("+(nonASCIICharacter + '1')", "NaN");
74 shouldBe("+('1' + nonASCIICharacter)", "NaN");
75 shouldBe("+('1' + nonASCIICharacter + '1')", "NaN");
76 shouldBe("+('1' + nonASCIINonSpaceCharacter)", "NaN");
77 shouldBe("+(nonASCIINonSpaceCharacter + '1')", "NaN");
78 shouldBe("+('1' + nonASCIINonSpaceCharacter + '1')", "NaN");
79 shouldBe("+(illegalUTF16Sequence + '1')", "NaN");
80 shouldBe("+('1' + illegalUTF16Sequence)", "NaN");
81 shouldBe("+('1' + illegalUTF16Sequence + '1')", "NaN");
82 shouldBe("+'inf'", "NaN");
83 shouldBe("+'infinity'", "NaN");
84 shouldBe("+'Inf'", "NaN");
85 shouldBe("+'+inf'", "NaN");
86 shouldBe("+'+infinity'", "NaN");
87 shouldBe("+'+Inf'", "NaN");
88 shouldBe("+'-inf'", "NaN");
89 shouldBe("+'-infinity'", "NaN");
90 shouldBe("+'-Inf'", "NaN");
91 shouldBe("+'Infinity'", "Infinity");
92 shouldBe("+'+Infinity'", "Infinity");
93 shouldBe("+'-Infinity'", "-Infinity");
94 shouldBe("+'++1'", "NaN");
95 shouldBe("+'AB'", "NaN");
96 shouldBe("+'0xAB'", "171");
97 shouldBe("+'1e1'", "10");
98 shouldBe("+'1E1'", "10");
99 shouldBe("+tab", "0");
100 shouldBe("+nbsp", "0");
101 shouldBe("+ff", "0");
102 shouldBe("+vt", "0");
103 shouldBe("+cr", "0");
104 shouldBe("+lf", "0");
105 shouldBe("+ls", "0");
106 shouldBe("+ps", "0");
107 shouldBe("+oghamSpaceMark", "0");
108 shouldBe("+mongolianVowelSeparator", "0");
109 shouldBe("+enQuad", "0");
110 shouldBe("+emQuad", "0");
111 shouldBe("+enSpace", "0");
112 shouldBe("+emSpace", "0");
113 shouldBe("+threePerEmSpace", "0");
114 shouldBe("+fourPerEmSpace", "0");
115 shouldBe("+sixPerEmSpace", "0");
116 shouldBe("+figureSpace", "0");
117 shouldBe("+punctuationSpace", "0");
118 shouldBe("+thinSpace", "0");
119 shouldBe("+hairSpace", "0");
120 shouldBe("+narrowNoBreakSpace", "0");
121 shouldBe("+mediumMathematicalSpace", "0");
122 shouldBe("+ideographicSpace", "0");
123 shouldBe("+(tab + '1')", "1");
124 shouldBe("+(nbsp + '1')", "1");
125 shouldBe("+(ff + '1')", "1");
126 shouldBe("+(vt + '1')", "1");
127 shouldBe("+(cr + '1')", "1");
128 shouldBe("+(lf + '1')", "1");
129 shouldBe("+(ls + '1')", "1");
130 shouldBe("+(ps + '1')", "1");
131 shouldBe("+(oghamSpaceMark + '1')", "1");
132 shouldBe("+(mongolianVowelSeparator + '1')", "1");
133 shouldBe("+(enQuad + '1')", "1");
134 shouldBe("+(emQuad + '1')", "1");
135 shouldBe("+(enSpace + '1')", "1");
136 shouldBe("+(emSpace + '1')", "1");
137 shouldBe("+(threePerEmSpace + '1')", "1");
138 shouldBe("+(fourPerEmSpace + '1')", "1");
139 shouldBe("+(sixPerEmSpace + '1')", "1");
140 shouldBe("+(figureSpace + '1')", "1");
141 shouldBe("+(punctuationSpace + '1')", "1");
142 shouldBe("+(thinSpace + '1')", "1");
143 shouldBe("+(hairSpace + '1')", "1");
144 shouldBe("+(narrowNoBreakSpace + '1')", "1");
145 shouldBe("+(mediumMathematicalSpace + '1')", "1");
146 shouldBe("+(ideographicSpace + '1')", "1");
147 shouldBe("+('1' + tab)", "1");
148 shouldBe("+('1' + nbsp)", "1");
149 shouldBe("+('1' + ff)", "1");
150 shouldBe("+('1' + vt)", "1");
151 shouldBe("+('1' + cr)", "1");
152 shouldBe("+('1' + lf)", "1");
153 shouldBe("+('1' + ls)", "1");
154 shouldBe("+('1' + ps)", "1");
155 shouldBe("+('1' + oghamSpaceMark)", "1");
156 shouldBe("+('1' + mongolianVowelSeparator)", "1");
157 shouldBe("+('1' + enQuad)", "1");
158 shouldBe("+('1' + emQuad)", "1");
159 shouldBe("+('1' + enSpace)", "1");
160 shouldBe("+('1' + emSpace)", "1");
161 shouldBe("+('1' + threePerEmSpace)", "1");
162 shouldBe("+('1' + fourPerEmSpace)", "1");
163 shouldBe("+('1' + sixPerEmSpace)", "1");
164 shouldBe("+('1' + figureSpace)", "1");
165 shouldBe("+('1' + punctuationSpace)", "1");
166 shouldBe("+('1' + thinSpace)", "1");
167 shouldBe("+('1' + hairSpace)", "1");
168 shouldBe("+('1' + narrowNoBreakSpace)", "1");
169 shouldBe("+('1' + mediumMathematicalSpace)", "1");
170 shouldBe("+('1' + ideographicSpace)", "1");
171 shouldBe("+('1' + tab + '1')", "NaN");
172 shouldBe("+('1' + nbsp + '1')", "NaN");
173 shouldBe("+('1' + ff + '1')", "NaN");
174 shouldBe("+('1' + vt + '1')", "NaN");
175 shouldBe("+('1' + cr + '1')", "NaN");
176 shouldBe("+('1' + lf + '1')", "NaN");
177 shouldBe("+('1' + ls + '1')", "NaN");
178 shouldBe("+('1' + ps + '1')", "NaN");
179 shouldBe("+('1' + oghamSpaceMark + '1')", "NaN");
180 shouldBe("+('1' + mongolianVowelSeparator + '1')", "NaN");
181 shouldBe("+('1' + enQuad + '1')", "NaN");
182 shouldBe("+('1' + emQuad + '1')", "NaN");
183 shouldBe("+('1' + enSpace + '1')", "NaN");
184 shouldBe("+('1' + emSpace + '1')", "NaN");
185 shouldBe("+('1' + threePerEmSpace + '1')", "NaN");
186 shouldBe("+('1' + fourPerEmSpace + '1')", "NaN");
187 shouldBe("+('1' + sixPerEmSpace + '1')", "NaN");
188 shouldBe("+('1' + figureSpace + '1')", "NaN");
189 shouldBe("+('1' + punctuationSpace + '1')", "NaN");
190 shouldBe("+('1' + thinSpace + '1')", "NaN");
191 shouldBe("+('1' + hairSpace + '1')", "NaN");
192 shouldBe("+('1' + narrowNoBreakSpace + '1')", "NaN");
193 shouldBe("+('1' + mediumMathematicalSpace + '1')", "NaN");
194 shouldBe("+('1' + ideographicSpace + '1')", "NaN");
OLDNEW
« no previous file with comments | « test/webkit/Object-keys-expected.txt ('k') | test/webkit/ToNumber-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698