Skip to content

Commit 0148fde

Browse files
relrelbHerschel
authored andcommitted
tests: Expand as3_parse_int and as3_parse_float a little
1 parent 10af943 commit 0148fde

File tree

9 files changed

+161
-134
lines changed

9 files changed

+161
-134
lines changed

tests/tests/swfs/avm2/parse_float/Test.as

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ package {
44
public class Test {}
55
}
66

7+
// Test no arguments.
8+
trace("// parseFloat()");
9+
trace(parseFloat());
10+
711
// Test integer.
812
trace("// parseFloat(\"12345\")");
913
trace(parseFloat("12345"));
@@ -12,7 +16,7 @@ trace(parseFloat("12345"));
1216
trace("// parseFloat(\"012345.67890\")");
1317
trace(parseFloat("012345.67890"));
1418

15-
// Test that leading/trailing whitespace characters are allowed.
19+
// Test that leading/trailing whitespace are allowed.
1620
trace("// parseFloat(\" 99999.99999 \")");
1721
trace(parseFloat(" \t\r\n99999.99999\t\r\n "));
1822

@@ -114,6 +118,9 @@ trace(parseFloat("-"));
114118
trace("// parseFloat(\"0xff\")");
115119
trace(parseFloat("0xff"));
116120

121+
trace("// parseFloat(String.fromCharCode(305))");
122+
trace(parseFloat(String.fromCharCode(305)));
123+
117124
// Test non-string inputs.
118125
trace("// parseFloat(true)");
119126
var b = true;

tests/tests/swfs/avm2/parse_float/output.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// parseFloat()
2+
NaN
13
// parseFloat("12345")
24
12345
35
// parseFloat("012345.67890")
@@ -64,6 +66,8 @@ NaN
6466
NaN
6567
// parseFloat("0xff")
6668
0
69+
// parseFloat(String.fromCharCode(305))
70+
NaN
6771
// parseFloat(true)
6872
NaN
6973
// parseFloat(1.2)
102 Bytes
Binary file not shown.

tests/tests/swfs/avm2/parse_float_swf10/Test.as

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ package {
44
public class Test {}
55
}
66

7+
// Test no arguments.
8+
trace("// parseFloat()");
9+
trace(parseFloat());
10+
711
// Test integer.
812
trace("// parseFloat(\"12345\")");
913
trace(parseFloat("12345"));
@@ -12,7 +16,7 @@ trace(parseFloat("12345"));
1216
trace("// parseFloat(\"012345.67890\")");
1317
trace(parseFloat("012345.67890"));
1418

15-
// Test that leading/trailing whitespace characters are allowed.
19+
// Test that leading/trailing whitespace are allowed.
1620
trace("// parseFloat(\" 99999.99999 \")");
1721
trace(parseFloat(" \t\r\n99999.99999\t\r\n "));
1822

@@ -114,6 +118,9 @@ trace(parseFloat("-"));
114118
trace("// parseFloat(\"0xff\")");
115119
trace(parseFloat("0xff"));
116120

121+
trace("// parseFloat(String.fromCharCode(305))");
122+
trace(parseFloat(String.fromCharCode(305)));
123+
117124
// Test non-string inputs.
118125
trace("// parseFloat(true)");
119126
var b = true;

tests/tests/swfs/avm2/parse_float_swf10/output.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// parseFloat()
2+
NaN
13
// parseFloat("12345")
24
12345
35
// parseFloat("012345.67890")
@@ -64,6 +66,8 @@ NaN
6466
NaN
6567
// parseFloat("0xff")
6668
0
69+
// parseFloat(String.fromCharCode(305))
70+
NaN
6771
// parseFloat(true)
6872
NaN
6973
// parseFloat(1.2)
97 Bytes
Binary file not shown.

tests/tests/swfs/avm2/parse_int/Test.as

Lines changed: 69 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -6,204 +6,207 @@ package {
66

77
var undefined_;
88

9-
trace("// trace(parseInt());")
9+
trace("// parseInt()")
1010
trace(parseInt());
1111

12-
trace("// trace(parseInt(undefined_));")
12+
trace("// parseInt(undefined)")
1313
trace(parseInt(undefined_));
1414

15-
trace("// trace(parseInt(undefined_, 32));")
15+
trace("// parseInt(undefined, 32)")
1616
trace(parseInt(undefined_, 32));
1717

18-
trace("// trace(parseInt(\"undefined\", 32));")
18+
trace("// parseInt(\"undefined\", 32)")
1919
trace(parseInt("undefined", 32));
2020

21-
trace("// trace(parseInt(\"\"));")
21+
trace("// parseInt(\"\")")
2222
trace(parseInt(""));
2323

24-
trace("// trace(parseInt(\"123\"));")
24+
trace("// parseInt(\"123\")")
2525
trace(parseInt("123"));
2626

27-
trace("// trace(parseInt(\"100\", 10));")
27+
trace("// parseInt(\"100\", 10)")
2828
trace(parseInt("100", 10));
2929

30-
trace("// trace(parseInt(\"100\", 0));")
30+
trace("// parseInt(\"100\", 0)")
3131
trace(parseInt("100", 0));
3232

33-
trace("// trace(parseInt(\"100\", 1));")
33+
trace("// parseInt(\"100\", 1)")
3434
trace(parseInt("100", 1));
3535

36-
trace("// trace(parseInt(\"100\", 2));")
36+
trace("// parseInt(\"100\", 2)")
3737
trace(parseInt("100", 2));
3838

39-
trace("// trace(parseInt(\"100\", 36));")
39+
trace("// parseInt(\"100\", 36)")
4040
trace(parseInt("100", 36));
4141

42-
trace("// trace(parseInt(\"100\", 37));")
42+
trace("// parseInt(\"100\", 37)")
4343
trace(parseInt("100", 37));
4444

45-
trace("// trace(parseInt(\"100\", -1));")
45+
trace("// parseInt(\"100\", -1)")
4646
trace(parseInt("100", -1));
4747

48-
trace("// trace(parseInt(\"100\", {}));")
48+
trace("// parseInt(\"100\", {})")
4949
var radix = {};
5050
trace(parseInt("100", radix));
5151

52-
trace("// trace(parseInt(\"100\", true));")
52+
trace("// parseInt(\"100\", true)")
5353
radix = true;
5454
trace(parseInt("100", radix));
5555

56-
trace("// trace(parseInt(\"100\", false));")
56+
trace("// parseInt(\"100\", false)")
5757
radix = false;
5858
trace(parseInt("100", radix));
5959

60-
trace("// trace(parseInt(\"100\", NaN));")
60+
trace("// parseInt(\"100\", NaN)")
6161
trace(parseInt("100", NaN));
6262

63-
trace("// trace(parseInt(\"100\", undefined_));")
63+
trace("// parseInt(\"100\", undefined)")
6464
trace(parseInt("100", undefined_));
6565

66-
trace("// trace(parseInt(\"0x123\"));")
66+
trace("// parseInt(\"0x123\")")
6767
trace(parseInt("0x123"));
6868

69-
trace("// trace(parseInt(\"0xabc\"));")
69+
trace("// parseInt(\"0xabc\")")
7070
trace(parseInt("0xabc"));
7171

72-
trace("// trace(parseInt(\"010\", 2));")
72+
trace("// parseInt(\"010\", 2)")
7373
trace(parseInt("010", 2));
7474

75-
trace("// trace(parseInt(\"-0100\"));")
75+
trace("// parseInt(\"-0100\")")
7676
trace(parseInt("-0100"));
7777

78-
trace("// trace(parseInt(\"-0100z\"));")
78+
trace("// parseInt(\"-0100z\")")
7979
trace(parseInt("-0100z"));
8080

81-
trace("// trace(parseInt(\"0x+0X100\"));")
81+
trace("// parseInt(\"0x+0X100\")")
8282
trace(parseInt("0x+0X100"));
8383

84-
trace("// trace(parseInt(123));")
84+
trace("// parseInt(123)")
8585
var n = 123;
8686
trace(parseInt(n));
8787

88-
trace("// trace(parseInt(123, 32));")
88+
trace("// parseInt(123, 32)")
8989
trace(parseInt(n, 32));
9090

91-
trace("// trace(parseInt(\"++1\"));")
91+
trace("// parseInt(\"++1\")")
9292
trace(parseInt("++1"));
9393

94-
trace("// trace(parseInt(\"0x100\", 36));")
94+
trace("// parseInt(\"0x100\", 36)")
9595
trace(parseInt("0x100", 36));
9696

97-
trace("// trace(parseInt(\" 0x100\", 36));")
97+
trace("// parseInt(\" 0x100\", 36)")
9898
trace(parseInt(" 0x100", 36));
9999

100-
trace("// trace(parseInt(\"0y100\", 36));")
100+
trace("// parseInt(\"0y100\", 36)")
101101
trace(parseInt("0y100", 36));
102102

103-
trace("// trace(parseInt(\" 0y100\", 36));")
103+
trace("// parseInt(\" 0y100\", 36)")
104104
trace(parseInt(" 0y100", 36));
105105

106-
trace("// trace(parseInt(\"-0x100\", 36));")
106+
trace("// parseInt(\"-0x100\", 36)")
107107
trace(parseInt("-0x100", 36));
108108

109-
trace("// trace(parseInt(\" -0x100\", 36));")
109+
trace("// parseInt(\" -0x100\", 36)")
110110
trace(parseInt(" -0x100", 36));
111111

112-
trace("// trace(parseInt(\"-0y100\", 36));")
112+
trace("// parseInt(\"-0y100\", 36)")
113113
trace(parseInt("-0y100", 36));
114114

115-
trace("// trace(parseInt(\" -0y100\", 36));")
115+
trace("// parseInt(\" -0y100\", 36)")
116116
trace(parseInt(" -0y100", 36));
117117

118-
trace("// trace(parseInt(\"-0x100\"));")
118+
trace("// parseInt(\"-0x100\")")
119119
trace(parseInt("-0x100"));
120120

121-
trace("// trace(parseInt(\"0x-100\"));")
121+
trace("// parseInt(\"0x-100\")")
122122
trace(parseInt("0x-100"));
123123

124-
trace("// trace(parseInt(\" 0x-100\"));")
124+
trace("// parseInt(\" 0x-100\")")
125125
trace(parseInt(" 0x-100"));
126126

127-
trace("// trace(parseInt(\"0x -100\"));")
127+
trace("// parseInt(\"0x -100\")")
128128
trace(parseInt("0x -100"));
129129

130-
trace("// trace(parseInt(\"-0100\"));")
130+
trace("// parseInt(\"-0100\")")
131131
trace(parseInt("-0100"));
132132

133-
trace("// trace(parseInt(\"0-100\"));")
133+
trace("// parseInt(\"0-100\")")
134134
trace(parseInt("0-100"));
135135

136-
trace("// trace(parseInt(\"+0x123\", 33));")
136+
trace("// parseInt(\"+0x123\", 33)")
137137
trace(parseInt("+0x123", 33));
138138

139-
trace("// trace(parseInt(\"+0x123\", 34));")
139+
trace("// parseInt(\"+0x123\", 34)")
140140
trace(parseInt("+0x123", 34));
141141

142-
trace("// trace(parseInt(\"0\"));")
142+
trace("// parseInt(\"0\")")
143143
trace(parseInt("0"));
144144

145-
trace("// trace(parseInt(\" 0\"));")
145+
trace("// parseInt(\" 0\")")
146146
trace(parseInt(" 0"));
147147

148-
trace("// trace(parseInt(\" 0 \"));")
148+
trace("// parseInt(\" 0 \")")
149149
trace(parseInt(" 0 "));
150150

151-
trace("// trace(parseInt(\"077\"));")
151+
trace("// parseInt(\"077\")")
152152
trace(parseInt("077"));
153153

154-
trace("// trace(parseInt(\" 077\"));")
154+
trace("// parseInt(\" 077\")")
155155
trace(parseInt(" 077"));
156156

157-
trace("// trace(parseInt(\" 077 \"));")
157+
trace("// parseInt(\" 077 \")")
158158
trace(parseInt(" 077 "));
159159

160-
trace("// trace(parseInt(\" -077\"));")
160+
trace("// parseInt(\" -077\")")
161161
trace(parseInt(" -077"));
162162

163-
trace("// trace(parseInt(\"077 \"));")
163+
trace("// parseInt(\"077 \")")
164164
trace(parseInt("077 "));
165165

166-
trace("// trace(parseInt(\"11\", 2));")
166+
trace("// parseInt(\"11\", 2)")
167167
trace(parseInt("11", 2));
168168

169-
trace("// trace(parseInt(\"11\", 3));")
169+
trace("// parseInt(\"11\", 3)")
170170
trace(parseInt("11", 3));
171171

172-
trace("// trace(parseInt(\"11\", 3.8));")
172+
trace("// parseInt(\"11\", 3.8)")
173173
trace(parseInt("11", 3.8));
174174

175-
trace("// trace(parseInt(\"0x12\"));")
175+
trace("// parseInt(\"0x12\")")
176176
trace(parseInt("0x12"));
177177

178-
trace("// trace(parseInt(\"0x12\", 16));")
178+
trace("// parseInt(\"0x12\", 16)")
179179
trace(parseInt("0x12", 16));
180180

181-
trace("// trace(parseInt(\"0x12\", 16.1));")
181+
trace("// parseInt(\"0x12\", 16.1)")
182182
trace(parseInt("0x12", 16.1));
183183

184-
trace("// trace(parseInt(\"0x12\", NaN));")
184+
trace("// parseInt(\"0x12\", NaN)")
185185
trace(parseInt("0x12", NaN));
186186

187-
trace("// trace(parseInt(\"0x \"));")
187+
trace("// parseInt(\"0x \")")
188188
trace(parseInt("0x "));
189189

190-
trace("// trace(parseInt(\"0x\"));")
190+
trace("// parseInt(\"0x\")")
191191
trace(parseInt("0x"));
192192

193-
trace("// trace(parseInt(\"0x \", 16));")
193+
trace("// parseInt(\"0x \", 16)")
194194
trace(parseInt("0x ", 16));
195195

196-
trace("// trace(parseInt(\"0x\", 16));")
196+
trace("// parseInt(\"0x\", 16)")
197197
trace(parseInt("0x", 16));
198198

199-
trace("// trace(parseInt(\"12aaa\"));")
199+
trace("// parseInt(\"12aaa\")")
200200
trace(parseInt("12aaa"));
201201

202-
trace("// trace(parseInt(\"100000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"000000000000000\"));")
202+
trace("// parseInt(\"100000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"000000000000000\")")
203203
trace(parseInt("100000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000"));
204204

205-
trace("// trace(parseInt(\"0x1000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"000000000000000\"));")
205+
trace("// parseInt(\"0x1000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"00000000000000000000000000000000000000000000000000000000000000000000\" + \"000000000000000\")")
206206
trace(parseInt("0x1000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000"));
207207

208-
trace("// trace(parseInt(String.fromCharCode(0x2000) + \"123\"));")
208+
trace("// parseInt(String.fromCharCode(305))");
209+
trace(parseInt(String.fromCharCode(305)));
210+
211+
trace("// parseInt(String.fromCharCode(0x2000) + \"123\")")
209212
trace(parseInt(String.fromCharCode(0x2000) + "123"));

0 commit comments

Comments
 (0)