test_empty_sequence_default_value.py (1179B)
1 import WebIDL 2 3 4 def WebIDLTest(parser, harness): 5 threw = False 6 try: 7 parser.parse( 8 """ 9 interface X { 10 const sequence<long> foo = []; 11 }; 12 """ 13 ) 14 15 results = parser.finish() 16 except WebIDL.WebIDLError: 17 threw = True 18 19 harness.ok(threw, "Constant cannot have [] as a default value") 20 21 parser = parser.reset() 22 23 parser.parse( 24 """ 25 interface X { 26 undefined foo(optional sequence<long> arg = []); 27 }; 28 """ 29 ) 30 results = parser.finish() 31 32 harness.ok( 33 isinstance( 34 results[0].members[0].signatures()[0][1][0].defaultValue, 35 WebIDL.IDLEmptySequenceValue, 36 ), 37 "Should have IDLEmptySequenceValue as default value of argument", 38 ) 39 40 parser = parser.reset() 41 42 parser.parse( 43 """ 44 dictionary X { 45 sequence<long> foo = []; 46 }; 47 """ 48 ) 49 results = parser.finish() 50 51 harness.ok( 52 isinstance(results[0].members[0].defaultValue, WebIDL.IDLEmptySequenceValue), 53 "Should have IDLEmptySequenceValue as default value of dictionary member", 54 )