dom/bindings/parser/tests/test_optional_constraints.py

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:9240917ef035
1 def WebIDLTest(parser, harness):
2 threw = False
3 try:
4 parser.parse("""
5 interface OptionalConstraints1 {
6 void foo(optional byte arg1, byte arg2);
7 };
8 """)
9
10 results = parser.finish()
11 except:
12 threw = True
13
14 harness.ok(not threw,
15 "Should not have thrown on non-optional argument following "
16 "optional argument.")
17
18 parser = parser.reset()
19 parser.parse("""
20 interface OptionalConstraints2 {
21 void foo(optional byte arg1 = 1, optional byte arg2 = 2,
22 optional byte arg3, optional byte arg4 = 4,
23 optional byte arg5, optional byte arg6 = 9);
24 };
25 """)
26 results = parser.finish()
27 args = results[0].members[0].signatures()[0][1]
28 harness.check(len(args), 6, "Should have 6 arguments")
29 harness.check(args[5].defaultValue.value, 9,
30 "Should have correct default value")

mercurial