1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/bindings/parser/tests/test_variadic_constraints.py Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,63 @@ 1.4 +def WebIDLTest(parser, harness): 1.5 + threw = False 1.6 + try: 1.7 + parser.parse(""" 1.8 + interface VariadicConstraints1 { 1.9 + void foo(byte... arg1, byte arg2); 1.10 + }; 1.11 + """) 1.12 + results = parser.finish() 1.13 + 1.14 + except: 1.15 + threw = True 1.16 + 1.17 + harness.ok(threw, 1.18 + "Should have thrown on variadic argument followed by required " 1.19 + "argument.") 1.20 + 1.21 + parser = parser.reset() 1.22 + threw = False 1.23 + try: 1.24 + parser.parse(""" 1.25 + interface VariadicConstraints2 { 1.26 + void foo(byte... arg1, optional byte arg2); 1.27 + }; 1.28 + """) 1.29 + results = parser.finish(); 1.30 + except: 1.31 + threw = True 1.32 + 1.33 + harness.ok(threw, 1.34 + "Should have thrown on variadic argument followed by optional " 1.35 + "argument.") 1.36 + 1.37 + parser = parser.reset() 1.38 + threw = False 1.39 + try: 1.40 + parser.parse(""" 1.41 + interface VariadicConstraints3 { 1.42 + void foo(optional byte... arg1); 1.43 + }; 1.44 + """) 1.45 + results = parser.finish() 1.46 + 1.47 + except: 1.48 + threw = True 1.49 + 1.50 + harness.ok(threw, 1.51 + "Should have thrown on variadic argument explicitly flagged as " 1.52 + "optional.") 1.53 + 1.54 + parser = parser.reset() 1.55 + threw = False 1.56 + try: 1.57 + parser.parse(""" 1.58 + interface VariadicConstraints4 { 1.59 + void foo(byte... arg1 = 0); 1.60 + }; 1.61 + """) 1.62 + results = parser.finish() 1.63 + except: 1.64 + threw = True 1.65 + 1.66 + harness.ok(threw, "Should have thrown on variadic argument with default value.")