1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/bindings/parser/tests/test_optional_constraints.py Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,30 @@ 1.4 +def WebIDLTest(parser, harness): 1.5 + threw = False 1.6 + try: 1.7 + parser.parse(""" 1.8 + interface OptionalConstraints1 { 1.9 + void foo(optional byte arg1, byte arg2); 1.10 + }; 1.11 + """) 1.12 + 1.13 + results = parser.finish() 1.14 + except: 1.15 + threw = True 1.16 + 1.17 + harness.ok(not threw, 1.18 + "Should not have thrown on non-optional argument following " 1.19 + "optional argument.") 1.20 + 1.21 + parser = parser.reset() 1.22 + parser.parse(""" 1.23 + interface OptionalConstraints2 { 1.24 + void foo(optional byte arg1 = 1, optional byte arg2 = 2, 1.25 + optional byte arg3, optional byte arg4 = 4, 1.26 + optional byte arg5, optional byte arg6 = 9); 1.27 + }; 1.28 + """) 1.29 + results = parser.finish() 1.30 + args = results[0].members[0].signatures()[0][1] 1.31 + harness.check(len(args), 6, "Should have 6 arguments") 1.32 + harness.check(args[5].defaultValue.value, 9, 1.33 + "Should have correct default value")