| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="resources/js-test-pre.js"></script> | 2 <script src="resources/js-test-pre.js"></script> |
| 3 <script> | 3 <script> |
| 4 description("Exercise WebIDL type conversions."); | 4 description("Exercise WebIDL type conversions."); |
| 5 | 5 |
| 6 quiet = true; | 6 quiet = true; |
| 7 evalAndLog("converter = window.internals.typeConversions()"); | 7 evalAndLog("converter = window.internals.typeConversions()"); |
| 8 debug(""); | 8 debug(""); |
| 9 | 9 |
| 10 function verifyAttribute(attribute) | 10 function verifyAttribute(attribute) |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 convert(attribute, "''", "0"); | 49 convert(attribute, "''", "0"); |
| 50 convert(attribute, "'1'", "1"); | 50 convert(attribute, "'1'", "1"); |
| 51 convertThrows(attribute, "'abc'"); | 51 convertThrows(attribute, "'abc'"); |
| 52 convert(attribute, "null", "0"); | 52 convert(attribute, "null", "0"); |
| 53 convertThrows(attribute, "undefined"); | 53 convertThrows(attribute, "undefined"); |
| 54 } | 54 } |
| 55 | 55 |
| 56 type = "testLong"; | 56 type = "testLong"; |
| 57 verifyAttribute(type); | 57 verifyAttribute(type); |
| 58 convert(type, "0"); | 58 convert(type, "0"); |
| 59 convert(type, "-0", "0"); |
| 59 convert(type, "-1"); | 60 convert(type, "-1"); |
| 60 convert(type, "1"); | 61 convert(type, "1"); |
| 61 convert(type, "0x7F"); | 62 convert(type, "0x7F"); |
| 62 convert(type, "0x80"); | 63 convert(type, "0x80"); |
| 63 convert(type, "0xFF"); | 64 convert(type, "0xFF"); |
| 64 convert(type, "-0x80"); | 65 convert(type, "-0x80"); |
| 65 convert(type, "-0x81"); | 66 convert(type, "-0x81"); |
| 66 convert(type, "0x7FFF"); | 67 convert(type, "0x7FFF"); |
| 67 convert(type, "0x8000"); | 68 convert(type, "0x8000"); |
| 68 convert(type, "0xFFFF"); | 69 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 83 convert(type, "Infinity", "0"); | 84 convert(type, "Infinity", "0"); |
| 84 convert(type, "-Infinity", "0"); | 85 convert(type, "-Infinity", "0"); |
| 85 convert(type, "NaN", "0"); | 86 convert(type, "NaN", "0"); |
| 86 testNonNumericToNumeric(type); | 87 testNonNumericToNumeric(type); |
| 87 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 88 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 88 debug(""); | 89 debug(""); |
| 89 | 90 |
| 90 type = "testEnforceRangeLong"; | 91 type = "testEnforceRangeLong"; |
| 91 verifyAttribute(type); | 92 verifyAttribute(type); |
| 92 convert(type, "0"); | 93 convert(type, "0"); |
| 94 convert(type, "-0", "0"); |
| 93 convert(type, "-1"); | 95 convert(type, "-1"); |
| 94 convert(type, "1"); | 96 convert(type, "1"); |
| 95 convert(type, "0x7F"); | 97 convert(type, "0x7F"); |
| 96 convert(type, "0x80"); | 98 convert(type, "0x80"); |
| 97 convert(type, "0xFF"); | 99 convert(type, "0xFF"); |
| 98 convert(type, "-0x80"); | 100 convert(type, "-0x80"); |
| 99 convert(type, "-0x81"); | 101 convert(type, "-0x81"); |
| 100 convert(type, "0x7FFF"); | 102 convert(type, "0x7FFF"); |
| 101 convert(type, "0x8000"); | 103 convert(type, "0x8000"); |
| 102 convert(type, "0xFFFF"); | 104 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 117 convertThrows(type, "Infinity"); | 119 convertThrows(type, "Infinity"); |
| 118 convertThrows(type, "-Infinity"); | 120 convertThrows(type, "-Infinity"); |
| 119 convertThrows(type, "NaN"); | 121 convertThrows(type, "NaN"); |
| 120 testNonNumericToNumericEnforceRange(type); | 122 testNonNumericToNumericEnforceRange(type); |
| 121 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 123 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 122 debug(""); | 124 debug(""); |
| 123 | 125 |
| 124 type = "testUnsignedLong"; | 126 type = "testUnsignedLong"; |
| 125 verifyAttribute(type); | 127 verifyAttribute(type); |
| 126 convert(type, "0"); | 128 convert(type, "0"); |
| 129 convert(type, "-0", "0"); |
| 127 convert(type, "-1", "0xFFFFFFFF"); | 130 convert(type, "-1", "0xFFFFFFFF"); |
| 128 convert(type, "1"); | 131 convert(type, "1"); |
| 129 convert(type, "0x7F"); | 132 convert(type, "0x7F"); |
| 130 convert(type, "0x80"); | 133 convert(type, "0x80"); |
| 131 convert(type, "0xFF"); | 134 convert(type, "0xFF"); |
| 132 convert(type, "-0x80", "0xFFFFFF80"); | 135 convert(type, "-0x80", "0xFFFFFF80"); |
| 133 convert(type, "-0x81", "0xFFFFFF7F"); | 136 convert(type, "-0x81", "0xFFFFFF7F"); |
| 134 convert(type, "0x7FFF"); | 137 convert(type, "0x7FFF"); |
| 135 convert(type, "0x8000"); | 138 convert(type, "0x8000"); |
| 136 convert(type, "0xFFFF"); | 139 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 151 convert(type, "Infinity", "0"); | 154 convert(type, "Infinity", "0"); |
| 152 convert(type, "-Infinity", "0"); | 155 convert(type, "-Infinity", "0"); |
| 153 convert(type, "NaN", "0"); | 156 convert(type, "NaN", "0"); |
| 154 testNonNumericToNumeric(type); | 157 testNonNumericToNumeric(type); |
| 155 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 158 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 156 debug(""); | 159 debug(""); |
| 157 | 160 |
| 158 type = "testEnforceRangeUnsignedLong"; | 161 type = "testEnforceRangeUnsignedLong"; |
| 159 verifyAttribute(type); | 162 verifyAttribute(type); |
| 160 convert(type, "0"); | 163 convert(type, "0"); |
| 164 convert(type, "-0", "0"); |
| 161 convertThrows(type, "-1"); | 165 convertThrows(type, "-1"); |
| 162 convert(type, "1"); | 166 convert(type, "1"); |
| 163 convert(type, "0x7F"); | 167 convert(type, "0x7F"); |
| 164 convert(type, "0x80"); | 168 convert(type, "0x80"); |
| 165 convert(type, "0xFF"); | 169 convert(type, "0xFF"); |
| 166 convertThrows(type, "-0x80"); | 170 convertThrows(type, "-0x80"); |
| 167 convertThrows(type, "-0x81"); | 171 convertThrows(type, "-0x81"); |
| 168 convert(type, "0x7FFF"); | 172 convert(type, "0x7FFF"); |
| 169 convert(type, "0x8000"); | 173 convert(type, "0x8000"); |
| 170 convert(type, "0xFFFF"); | 174 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 185 convertThrows(type, "Infinity"); | 189 convertThrows(type, "Infinity"); |
| 186 convertThrows(type, "-Infinity"); | 190 convertThrows(type, "-Infinity"); |
| 187 convertThrows(type, "NaN"); | 191 convertThrows(type, "NaN"); |
| 188 testNonNumericToNumericEnforceRange(type); | 192 testNonNumericToNumericEnforceRange(type); |
| 189 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 193 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 190 debug(""); | 194 debug(""); |
| 191 | 195 |
| 192 type = "testLongLong"; | 196 type = "testLongLong"; |
| 193 verifyAttribute(type); | 197 verifyAttribute(type); |
| 194 convert(type, "0"); | 198 convert(type, "0"); |
| 199 convert(type, "-0", "0"); |
| 195 convert(type, "-1"); | 200 convert(type, "-1"); |
| 196 convert(type, "1"); | 201 convert(type, "1"); |
| 197 convert(type, "0x7F"); | 202 convert(type, "0x7F"); |
| 198 convert(type, "0x80"); | 203 convert(type, "0x80"); |
| 199 convert(type, "0xFF"); | 204 convert(type, "0xFF"); |
| 200 convert(type, "-0x80"); | 205 convert(type, "-0x80"); |
| 201 convert(type, "-0x81"); | 206 convert(type, "-0x81"); |
| 202 convert(type, "0x7FFF"); | 207 convert(type, "0x7FFF"); |
| 203 convert(type, "0x8000"); | 208 convert(type, "0x8000"); |
| 204 convert(type, "0xFFFF"); | 209 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 219 convert(type, "Infinity", "0"); | 224 convert(type, "Infinity", "0"); |
| 220 convert(type, "-Infinity", "0"); | 225 convert(type, "-Infinity", "0"); |
| 221 convert(type, "NaN", "0"); | 226 convert(type, "NaN", "0"); |
| 222 testNonNumericToNumeric(type); | 227 testNonNumericToNumeric(type); |
| 223 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 228 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 224 debug(""); | 229 debug(""); |
| 225 | 230 |
| 226 type = "testEnforceRangeLongLong"; | 231 type = "testEnforceRangeLongLong"; |
| 227 verifyAttribute(type); | 232 verifyAttribute(type); |
| 228 convert(type, "0"); | 233 convert(type, "0"); |
| 234 convert(type, "-0", "0"); |
| 229 convert(type, "-1"); | 235 convert(type, "-1"); |
| 230 convert(type, "1"); | 236 convert(type, "1"); |
| 231 convert(type, "0x7F"); | 237 convert(type, "0x7F"); |
| 232 convert(type, "0x80"); | 238 convert(type, "0x80"); |
| 233 convert(type, "0xFF"); | 239 convert(type, "0xFF"); |
| 234 convert(type, "-0x80"); | 240 convert(type, "-0x80"); |
| 235 convert(type, "-0x81"); | 241 convert(type, "-0x81"); |
| 236 convert(type, "0x7FFF"); | 242 convert(type, "0x7FFF"); |
| 237 convert(type, "0x8000"); | 243 convert(type, "0x8000"); |
| 238 convert(type, "0xFFFF"); | 244 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 253 convertThrows(type, "Infinity"); | 259 convertThrows(type, "Infinity"); |
| 254 convertThrows(type, "-Infinity"); | 260 convertThrows(type, "-Infinity"); |
| 255 convertThrows(type, "NaN", "0"); | 261 convertThrows(type, "NaN", "0"); |
| 256 testNonNumericToNumericEnforceRange(type); | 262 testNonNumericToNumericEnforceRange(type); |
| 257 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 263 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 258 debug(""); | 264 debug(""); |
| 259 | 265 |
| 260 type = "testUnsignedLongLong"; | 266 type = "testUnsignedLongLong"; |
| 261 verifyAttribute(type); | 267 verifyAttribute(type); |
| 262 convert(type, "0"); | 268 convert(type, "0"); |
| 269 convert(type, "-0", "0"); |
| 263 convert(type, "-1", "0xFFFFFFFFFFFFFFFF"); | 270 convert(type, "-1", "0xFFFFFFFFFFFFFFFF"); |
| 264 convert(type, "1"); | 271 convert(type, "1"); |
| 265 convert(type, "0x7F"); | 272 convert(type, "0x7F"); |
| 266 convert(type, "0x80"); | 273 convert(type, "0x80"); |
| 267 convert(type, "0xFF"); | 274 convert(type, "0xFF"); |
| 268 convert(type, "-0x80", "0xFFFFFFFFFFFFFF80"); | 275 convert(type, "-0x80", "0xFFFFFFFFFFFFFF80"); |
| 269 convert(type, "-0x81", "0xFFFFFFFFFFFFFF7F"); | 276 convert(type, "-0x81", "0xFFFFFFFFFFFFFF7F"); |
| 270 convert(type, "0x7FFF"); | 277 convert(type, "0x7FFF"); |
| 271 convert(type, "0x8000"); | 278 convert(type, "0x8000"); |
| 272 convert(type, "0xFFFF"); | 279 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 287 convert(type, "Infinity", "0"); | 294 convert(type, "Infinity", "0"); |
| 288 convert(type, "-Infinity", "0"); | 295 convert(type, "-Infinity", "0"); |
| 289 convert(type, "NaN", "0"); | 296 convert(type, "NaN", "0"); |
| 290 testNonNumericToNumeric(type); | 297 testNonNumericToNumeric(type); |
| 291 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 298 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 292 debug(""); | 299 debug(""); |
| 293 | 300 |
| 294 type = "testEnforceRangeUnsignedLongLong"; | 301 type = "testEnforceRangeUnsignedLongLong"; |
| 295 verifyAttribute(type); | 302 verifyAttribute(type); |
| 296 convert(type, "0"); | 303 convert(type, "0"); |
| 304 convert(type, "-0", "0"); |
| 297 convertThrows(type, "-1"); | 305 convertThrows(type, "-1"); |
| 298 convert(type, "1"); | 306 convert(type, "1"); |
| 299 convert(type, "0x7F"); | 307 convert(type, "0x7F"); |
| 300 convert(type, "0x80"); | 308 convert(type, "0x80"); |
| 301 convert(type, "0xFF"); | 309 convert(type, "0xFF"); |
| 302 convertThrows(type, "-0x80"); | 310 convertThrows(type, "-0x80"); |
| 303 convertThrows(type, "-0x81"); | 311 convertThrows(type, "-0x81"); |
| 304 convert(type, "0x7FFF"); | 312 convert(type, "0x7FFF"); |
| 305 convert(type, "0x8000"); | 313 convert(type, "0x8000"); |
| 306 convert(type, "0xFFFF"); | 314 convert(type, "0xFFFF"); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 321 convertThrows(type, "Infinity"); | 329 convertThrows(type, "Infinity"); |
| 322 convertThrows(type, "-Infinity"); | 330 convertThrows(type, "-Infinity"); |
| 323 convertThrows(type, "NaN"); | 331 convertThrows(type, "NaN"); |
| 324 testNonNumericToNumericEnforceRange(type); | 332 testNonNumericToNumericEnforceRange(type); |
| 325 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 333 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 326 debug(""); | 334 debug(""); |
| 327 | 335 |
| 328 type = "testByte"; | 336 type = "testByte"; |
| 329 verifyAttribute(type); | 337 verifyAttribute(type); |
| 330 convert(type, "0"); | 338 convert(type, "0"); |
| 339 convert(type, "-0", "0"); |
| 331 convert(type, "-1"); | 340 convert(type, "-1"); |
| 332 convert(type, "1"); | 341 convert(type, "1"); |
| 333 convert(type, "0x7F"); | 342 convert(type, "0x7F"); |
| 334 convert(type, "0x80", "-0x80"); | 343 convert(type, "0x80", "-0x80"); |
| 335 convert(type, "-0x7F"); | 344 convert(type, "-0x7F"); |
| 336 convert(type, "-0x80"); | 345 convert(type, "-0x80"); |
| 337 convert(type, "-0x81", "0x7F"); | 346 convert(type, "-0x81", "0x7F"); |
| 338 convert(type, "0x1234", "0x34"); | 347 convert(type, "0x1234", "0x34"); |
| 348 convert(type, "0xDCBA9876543210", "0x10"); |
| 339 convert(type, "Number.MIN_VALUE", "0"); | 349 convert(type, "Number.MIN_VALUE", "0"); |
| 340 convert(type, "-Number.MIN_VALUE", "0"); | 350 convert(type, "-Number.MIN_VALUE", "0"); |
| 341 convert(type, "Number.MAX_VALUE", "0"); | 351 convert(type, "Number.MAX_VALUE", "0"); |
| 342 convert(type, "-Number.MAX_VALUE", "0"); | 352 convert(type, "-Number.MAX_VALUE", "0"); |
| 343 convert(type, "1.99", "1"); | 353 convert(type, "1.99", "1"); |
| 344 convert(type, "-1.99", "-1"); | 354 convert(type, "-1.99", "-1"); |
| 345 convert(type, "4660.99", "0x34"); | 355 convert(type, "4660.99", "0x34"); |
| 346 convert(type, "Infinity", "0"); | 356 convert(type, "Infinity", "0"); |
| 347 convert(type, "-Infinity", "0"); | 357 convert(type, "-Infinity", "0"); |
| 348 convert(type, "NaN", "0"); | 358 convert(type, "NaN", "0"); |
| 349 testNonNumericToNumeric(type); | 359 testNonNumericToNumeric(type); |
| 350 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 360 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 351 debug(""); | 361 debug(""); |
| 352 | 362 |
| 353 type = "testEnforceRangeByte"; | 363 type = "testEnforceRangeByte"; |
| 354 verifyAttribute(type); | 364 verifyAttribute(type); |
| 355 convert(type, "0"); | 365 convert(type, "0"); |
| 366 convert(type, "-0", "0"); |
| 356 convert(type, "-1"); | 367 convert(type, "-1"); |
| 357 convert(type, "1"); | 368 convert(type, "1"); |
| 358 convert(type, "0x7F"); | 369 convert(type, "0x7F"); |
| 359 convertThrows(type, "0x80"); | 370 convertThrows(type, "0x80"); |
| 360 convert(type, "-0x7F"); | 371 convert(type, "-0x7F"); |
| 361 convert(type, "-0x80"); | 372 convert(type, "-0x80"); |
| 362 convertThrows(type, "-0x81"); | 373 convertThrows(type, "-0x81"); |
| 363 convertThrows(type, "0x1234"); | 374 convertThrows(type, "0x1234"); |
| 364 convert(type, "Number.MIN_VALUE", "0"); | 375 convert(type, "Number.MIN_VALUE", "0"); |
| 365 convert(type, "-Number.MIN_VALUE", "0"); | 376 convert(type, "-Number.MIN_VALUE", "0"); |
| 366 convertThrows(type, "Number.MAX_VALUE"); | 377 convertThrows(type, "Number.MAX_VALUE"); |
| 367 convertThrows(type, "-Number.MAX_VALUE"); | 378 convertThrows(type, "-Number.MAX_VALUE"); |
| 368 convert(type, "1.99", "1"); | 379 convert(type, "1.99", "1"); |
| 369 convert(type, "-1.99", "-1"); | 380 convert(type, "-1.99", "-1"); |
| 370 convertThrows(type, "4660.99"); | 381 convertThrows(type, "4660.99"); |
| 371 convertThrows(type, "Infinity"); | 382 convertThrows(type, "Infinity"); |
| 372 convertThrows(type, "-Infinity"); | 383 convertThrows(type, "-Infinity"); |
| 373 convertThrows(type, "NaN"); | 384 convertThrows(type, "NaN"); |
| 374 testNonNumericToNumericEnforceRange(type); | 385 testNonNumericToNumericEnforceRange(type); |
| 375 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 386 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 376 debug(""); | 387 debug(""); |
| 377 | 388 |
| 378 type = "testOctet"; | 389 type = "testOctet"; |
| 379 verifyAttribute(type); | 390 verifyAttribute(type); |
| 380 convert(type, "0"); | 391 convert(type, "0"); |
| 392 convert(type, "-0", "0"); |
| 381 convert(type, "-1", "0xFF"); | 393 convert(type, "-1", "0xFF"); |
| 382 convert(type, "1"); | 394 convert(type, "1"); |
| 383 convert(type, "0x7F"); | 395 convert(type, "0x7F"); |
| 384 convert(type, "0x80"); | 396 convert(type, "0x80"); |
| 385 convert(type, "0xFF"); | 397 convert(type, "0xFF"); |
| 386 convert(type, "0x100", "0"); | 398 convert(type, "0x100", "0"); |
| 387 convert(type, "0x101", "1"); | 399 convert(type, "0x101", "1"); |
| 388 convert(type, "-0x80", "0x80"); | 400 convert(type, "-0x80", "0x80"); |
| 389 convert(type, "-0x81", "0x7F"); | 401 convert(type, "-0x81", "0x7F"); |
| 390 convert(type, "0x1234", "0x34"); | 402 convert(type, "0x1234", "0x34"); |
| 403 convert(type, "0xDCBA9876543210", "0x10"); |
| 391 convert(type, "Number.MAX_VALUE", "0"); | 404 convert(type, "Number.MAX_VALUE", "0"); |
| 392 convert(type, "Number.MIN_VALUE", "0"); | 405 convert(type, "Number.MIN_VALUE", "0"); |
| 393 convert(type, "-Number.MAX_VALUE", "0"); | 406 convert(type, "-Number.MAX_VALUE", "0"); |
| 394 convert(type, "-Number.MIN_VALUE", "0"); | 407 convert(type, "-Number.MIN_VALUE", "0"); |
| 395 convert(type, "1.99", "1"); | 408 convert(type, "1.99", "1"); |
| 396 convert(type, "-1.99", "0xFF"); | 409 convert(type, "-1.99", "0xFF"); |
| 397 convert(type, "4660.99", "0x34"); | 410 convert(type, "4660.99", "0x34"); |
| 398 convert(type, "Infinity", "0"); | 411 convert(type, "Infinity", "0"); |
| 399 convert(type, "-Infinity", "0"); | 412 convert(type, "-Infinity", "0"); |
| 400 convert(type, "NaN", "0"); | 413 convert(type, "NaN", "0"); |
| 401 testNonNumericToNumeric(type); | 414 testNonNumericToNumeric(type); |
| 402 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 415 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 403 debug(""); | 416 debug(""); |
| 404 | 417 |
| 405 type = "testEnforceRangeOctet"; | 418 type = "testEnforceRangeOctet"; |
| 406 verifyAttribute(type); | 419 verifyAttribute(type); |
| 407 convert(type, "0"); | 420 convert(type, "0"); |
| 421 convert(type, "-0", "0"); |
| 408 convertThrows(type, "-1"); | 422 convertThrows(type, "-1"); |
| 409 convert(type, "1"); | 423 convert(type, "1"); |
| 410 convert(type, "0x7F"); | 424 convert(type, "0x7F"); |
| 411 convert(type, "0x80"); | 425 convert(type, "0x80"); |
| 412 convert(type, "0xFF"); | 426 convert(type, "0xFF"); |
| 413 convertThrows(type, "0x100"); | 427 convertThrows(type, "0x100"); |
| 414 convertThrows(type, "0x101"); | 428 convertThrows(type, "0x101"); |
| 415 convertThrows(type, "-0x80"); | 429 convertThrows(type, "-0x80"); |
| 416 convertThrows(type, "-0x81"); | 430 convertThrows(type, "-0x81"); |
| 417 convertThrows(type, "0x1234"); | 431 convertThrows(type, "0x1234"); |
| 418 convertThrows(type, "Number.MAX_VALUE"); | 432 convertThrows(type, "Number.MAX_VALUE"); |
| 419 convert(type, "Number.MIN_VALUE", "0"); | 433 convert(type, "Number.MIN_VALUE", "0"); |
| 420 convertThrows(type, "-Number.MAX_VALUE"); | 434 convertThrows(type, "-Number.MAX_VALUE"); |
| 421 convert(type, "-Number.MIN_VALUE", "0"); | 435 convert(type, "-Number.MIN_VALUE", "0"); |
| 422 convert(type, "1.99", "1"); | 436 convert(type, "1.99", "1"); |
| 423 convertThrows(type, "-1.99"); | 437 convertThrows(type, "-1.99"); |
| 424 convertThrows(type, "4660.99"); | 438 convertThrows(type, "4660.99"); |
| 425 convertThrows(type, "Infinity"); | 439 convertThrows(type, "Infinity"); |
| 426 convertThrows(type, "-Infinity"); | 440 convertThrows(type, "-Infinity"); |
| 427 convertThrows(type, "NaN"); | 441 convertThrows(type, "NaN"); |
| 428 testNonNumericToNumericEnforceRange(type); | 442 testNonNumericToNumericEnforceRange(type); |
| 429 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); | 443 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 430 debug(""); | 444 debug(""); |
| 431 | 445 |
| 446 type = "testShort"; |
| 447 verifyAttribute(type); |
| 448 convert(type, "0"); |
| 449 convert(type, "-0", "0"); |
| 450 convert(type, "-1"); |
| 451 convert(type, "1"); |
| 452 convert(type, "0x7F"); |
| 453 convert(type, "0x80"); |
| 454 convert(type, "0xFF"); |
| 455 convert(type, "-0x80"); |
| 456 convert(type, "-0x81"); |
| 457 convert(type, "0x7FFF"); |
| 458 convert(type, "0x8000", "-0x8000"); |
| 459 convert(type, "0xFFFF", "-1"); |
| 460 convert(type, "-0x8000"); |
| 461 convert(type, "-0x8001", "0x7FFF"); |
| 462 convert(type, "0xDCBA9876543210", "0x3210"); |
| 463 convert(type, "Number.MAX_VALUE", "0"); |
| 464 convert(type, "Number.MIN_VALUE", "0"); |
| 465 convert(type, "-Number.MAX_VALUE", "0"); |
| 466 convert(type, "-Number.MIN_VALUE", "0"); |
| 467 convert(type, "1.99", "1"); |
| 468 convert(type, "-1.99", "-1"); |
| 469 convert(type, "Infinity", "0"); |
| 470 convert(type, "-Infinity", "0"); |
| 471 convert(type, "NaN", "0"); |
| 472 testNonNumericToNumeric(type); |
| 473 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 474 debug(""); |
| 475 |
| 476 type = "testEnforceRangeShort"; |
| 477 verifyAttribute(type); |
| 478 convert(type, "0"); |
| 479 convert(type, "-0", "0"); |
| 480 convert(type, "-1"); |
| 481 convert(type, "1"); |
| 482 convert(type, "0x7F"); |
| 483 convert(type, "0x80"); |
| 484 convert(type, "0xFF"); |
| 485 convert(type, "-0x80"); |
| 486 convert(type, "-0x81"); |
| 487 convert(type, "0x7FFF"); |
| 488 convertThrows(type, "0x8000"); |
| 489 convertThrows(type, "0xFFFF"); |
| 490 convert(type, "-0x8000"); |
| 491 convertThrows(type, "-0x8001"); |
| 492 convertThrows(type, "0xDCBA9876543210"); |
| 493 convertThrows(type, "Number.MAX_VALUE"); |
| 494 convert(type, "Number.MIN_VALUE", "0"); |
| 495 convertThrows(type, "-Number.MAX_VALUE"); |
| 496 convert(type, "-Number.MIN_VALUE", "0"); |
| 497 convert(type, "1.99", "1"); |
| 498 convert(type, "-1.99", "-1"); |
| 499 convertThrows(type, "Infinity"); |
| 500 convertThrows(type, "-Infinity"); |
| 501 convertThrows(type, "NaN"); |
| 502 testNonNumericToNumericEnforceRange(type); |
| 503 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 504 debug(""); |
| 505 |
| 506 type = "testUnsignedShort"; |
| 507 verifyAttribute(type); |
| 508 convert(type, "0"); |
| 509 convert(type, "-0", "0"); |
| 510 convert(type, "-1", "0xFFFF"); |
| 511 convert(type, "1"); |
| 512 convert(type, "0x7F"); |
| 513 convert(type, "0x80"); |
| 514 convert(type, "0xFF"); |
| 515 convert(type, "-0x80", "0xFF80"); |
| 516 convert(type, "-0x81", "0xFF7F"); |
| 517 convert(type, "0x7FFF"); |
| 518 convert(type, "0x8000"); |
| 519 convert(type, "0xFFFF"); |
| 520 convert(type, "0x10000", "0"); |
| 521 convert(type, "-0x8000", "0x8000"); |
| 522 convert(type, "-0x8001", "0x7FFF"); |
| 523 convert(type, "0xDCBA9876543210", "0x3210"); |
| 524 convert(type, "Number.MAX_VALUE", "0"); |
| 525 convert(type, "Number.MIN_VALUE", "0"); |
| 526 convert(type, "-Number.MAX_VALUE", "0"); |
| 527 convert(type, "-Number.MIN_VALUE", "0"); |
| 528 convert(type, "1.99", "1"); |
| 529 convert(type, "-1.99", "0xFFFF"); |
| 530 convert(type, "Infinity", "0"); |
| 531 convert(type, "-Infinity", "0"); |
| 532 convert(type, "NaN", "0"); |
| 533 testNonNumericToNumeric(type); |
| 534 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 535 debug(""); |
| 536 |
| 537 type = "testEnforceRangeUnsignedShort"; |
| 538 verifyAttribute(type); |
| 539 convert(type, "0"); |
| 540 convert(type, "-0", "0"); |
| 541 convertThrows(type, "-1"); |
| 542 convert(type, "1"); |
| 543 convert(type, "0x7F"); |
| 544 convert(type, "0x80"); |
| 545 convert(type, "0xFF"); |
| 546 convertThrows(type, "-0x80"); |
| 547 convertThrows(type, "-0x81"); |
| 548 convert(type, "0x7FFF"); |
| 549 convert(type, "0x8000"); |
| 550 convert(type, "0xFFFF"); |
| 551 convertThrows(type, "0x10000"); |
| 552 convertThrows(type, "-0x8000"); |
| 553 convertThrows(type, "-0x8001"); |
| 554 convert(type, "0x3210"); |
| 555 convertThrows(type, "Number.MAX_VALUE"); |
| 556 convert(type, "Number.MIN_VALUE", "0"); |
| 557 convertThrows(type, "-Number.MAX_VALUE"); |
| 558 convert(type, "-Number.MIN_VALUE", "0"); |
| 559 convert(type, "1.99", "1"); |
| 560 convertThrows(type, "-1.99"); |
| 561 convertThrows(type, "Infinity"); |
| 562 convertThrows(type, "-Infinity"); |
| 563 convertThrows(type, "NaN"); |
| 564 testNonNumericToNumericEnforceRange(type); |
| 565 convertThrows(type, "{valueOf:function(){throw new Error('custom');}}"); |
| 566 debug(""); |
| 567 |
| 432 </script> | 568 </script> |
| OLD | NEW |