|
1 def WebIDLTest(parser, harness): |
|
2 threw = False |
|
3 try: |
|
4 parser.parse(""" |
|
5 interface VariadicConstraints1 { |
|
6 void foo(byte... arg1, byte arg2); |
|
7 }; |
|
8 """) |
|
9 results = parser.finish() |
|
10 |
|
11 except: |
|
12 threw = True |
|
13 |
|
14 harness.ok(threw, |
|
15 "Should have thrown on variadic argument followed by required " |
|
16 "argument.") |
|
17 |
|
18 parser = parser.reset() |
|
19 threw = False |
|
20 try: |
|
21 parser.parse(""" |
|
22 interface VariadicConstraints2 { |
|
23 void foo(byte... arg1, optional byte arg2); |
|
24 }; |
|
25 """) |
|
26 results = parser.finish(); |
|
27 except: |
|
28 threw = True |
|
29 |
|
30 harness.ok(threw, |
|
31 "Should have thrown on variadic argument followed by optional " |
|
32 "argument.") |
|
33 |
|
34 parser = parser.reset() |
|
35 threw = False |
|
36 try: |
|
37 parser.parse(""" |
|
38 interface VariadicConstraints3 { |
|
39 void foo(optional byte... arg1); |
|
40 }; |
|
41 """) |
|
42 results = parser.finish() |
|
43 |
|
44 except: |
|
45 threw = True |
|
46 |
|
47 harness.ok(threw, |
|
48 "Should have thrown on variadic argument explicitly flagged as " |
|
49 "optional.") |
|
50 |
|
51 parser = parser.reset() |
|
52 threw = False |
|
53 try: |
|
54 parser.parse(""" |
|
55 interface VariadicConstraints4 { |
|
56 void foo(byte... arg1 = 0); |
|
57 }; |
|
58 """) |
|
59 results = parser.finish() |
|
60 except: |
|
61 threw = True |
|
62 |
|
63 harness.ok(threw, "Should have thrown on variadic argument with default value.") |