OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../../resources/js-test.js"></script> | 2 <script src="../../resources/js-test.js"></script> |
3 <script> | 3 <script> |
4 description('IDL union types unittests'); | 4 description('IDL union types unittests'); |
5 | 5 |
6 if (window.internals) { | 6 if (window.internals) { |
7 // The conversion rule prefers string over double, hence a value which | 7 // The conversion rule prefers string over double, hence a value which |
8 // is neither double nor string will be converted using ToString(). | 8 // is neither double nor string will be converted using ToString(). |
9 | 9 |
10 var unionTypesTest = internals.unionTypesTest(); | 10 var unionTypesTest = internals.unionTypesTest(); |
(...skipping 20 matching lines...) Expand all Loading... |
31 shouldBeEqualToString('unionTypesTest.doubleOrStringArg(undefined)', 'string
is passed: undefined'); | 31 shouldBeEqualToString('unionTypesTest.doubleOrStringArg(undefined)', 'string
is passed: undefined'); |
32 shouldBeEqualToString('unionTypesTest.doubleOrStringArg(null)', 'string is p
assed: null'); | 32 shouldBeEqualToString('unionTypesTest.doubleOrStringArg(null)', 'string is p
assed: null'); |
33 shouldBeEqualToString('unionTypesTest.doubleOrStringArg({})', 'string is pas
sed: [object Object]'); | 33 shouldBeEqualToString('unionTypesTest.doubleOrStringArg({})', 'string is pas
sed: [object Object]'); |
34 shouldBeEqualToString('unionTypesTest.doubleOrStringArg([])', 'string is pas
sed: '); | 34 shouldBeEqualToString('unionTypesTest.doubleOrStringArg([])', 'string is pas
sed: '); |
35 // ToString(Date) can contain timezone, so we can't specify the expectation. | 35 // ToString(Date) can contain timezone, so we can't specify the expectation. |
36 // Just check that doubleOrStringArg() doesn't throw an exception. | 36 // Just check that doubleOrStringArg() doesn't throw an exception. |
37 shouldBeEqualToString('typeof unionTypesTest.doubleOrStringArg(new Date)', '
string'); | 37 shouldBeEqualToString('typeof unionTypesTest.doubleOrStringArg(new Date)', '
string'); |
38 shouldThrow('unionTypesTest.doubleOrStringArg()'); | 38 shouldThrow('unionTypesTest.doubleOrStringArg()'); |
39 debug(''); | 39 debug(''); |
40 | 40 |
| 41 shouldBeEqualToString('unionTypesTest.doubleOrStringArrayArg([])', ''); |
| 42 shouldBeEqualToString('unionTypesTest.doubleOrStringArrayArg([3.14, "foo"])'
, 'double: 3.14, string: foo'); |
| 43 shouldBeEqualToString('unionTypesTest.doubleOrStringArrayArg([1, "foo", "bar
", 2])', 'double: 1, string: foo, string: bar, double: 2'); |
| 44 shouldBeEqualToString('unionTypesTest.doubleOrStringArrayArg([null, undefine
d, {}, []])', 'string: null, string: undefined, string: [object Object], string:
'); |
| 45 shouldThrow('unionTypesTest.doubleOrStringArrayArg(null)'); |
| 46 shouldThrow('unionTypesTest.doubleOrStringArrayArg(undefined)'); |
| 47 shouldThrow('unionTypesTest.doubleOrStringArrayArg({})'); |
| 48 debug(''); |
| 49 |
| 50 shouldBeEqualToString('unionTypesTest.doubleOrStringSequenceArg([])', ''); |
| 51 shouldBeEqualToString('unionTypesTest.doubleOrStringSequenceArg([3.14, "foo"
])', 'double: 3.14, string: foo'); |
| 52 shouldBeEqualToString('unionTypesTest.doubleOrStringSequenceArg([1, "foo", "
bar", 2])', 'double: 1, string: foo, string: bar, double: 2'); |
| 53 shouldBeEqualToString('unionTypesTest.doubleOrStringSequenceArg([null, undef
ined, {}, []])', 'string: null, string: undefined, string: [object Object], stri
ng: '); |
| 54 shouldThrow('unionTypesTest.doubleOrStringSequenceArg(null)'); |
| 55 shouldThrow('unionTypesTest.doubleOrStringSequenceArg(undefined)'); |
| 56 shouldThrow('unionTypesTest.doubleOrStringSequenceArg({})'); |
| 57 debug(''); |
| 58 |
41 debug('Tests for method arguments with defaults'); | 59 debug('Tests for method arguments with defaults'); |
42 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultDoubleArg()', 'do
uble is passed: 3.14'); | 60 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultDoubleArg()', 'do
uble is passed: 3.14'); |
43 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultDoubleArg(undefin
ed)', 'double is passed: 3.14'); | 61 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultDoubleArg(undefin
ed)', 'double is passed: 3.14'); |
44 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultDoubleArg("foo")'
, 'string is passed: foo'); | 62 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultDoubleArg("foo")'
, 'string is passed: foo'); |
45 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultStringArg()', 'st
ring is passed: foo'); | 63 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultStringArg()', 'st
ring is passed: foo'); |
46 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultStringArg(undefin
ed)', 'string is passed: foo'); | 64 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultStringArg(undefin
ed)', 'string is passed: foo'); |
47 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultStringArg(3.14)',
'double is passed: 3.14'); | 65 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultStringArg(3.14)',
'double is passed: 3.14'); |
48 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg()', 'null
is passed'); | 66 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg()', 'null
is passed'); |
49 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg(undefined
)', 'null is passed'); | 67 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg(undefined
)', 'null is passed'); |
50 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg(null)', '
null is passed'); | 68 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg(null)', '
null is passed'); |
51 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg(3.14)', '
double is passed: 3.14'); | 69 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg(3.14)', '
double is passed: 3.14'); |
52 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg("foo")',
'string is passed: foo'); | 70 shouldBeEqualToString('unionTypesTest.doubleOrStringDefaultNullArg("foo")',
'string is passed: foo'); |
53 | 71 |
54 } | 72 } |
55 </script> | 73 </script> |
OLD | NEW |