diff options
Diffstat (limited to 'dom/bindings/parser/tests/test_empty_sequence_default_value.py')
-rw-r--r-- | dom/bindings/parser/tests/test_empty_sequence_default_value.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dom/bindings/parser/tests/test_empty_sequence_default_value.py b/dom/bindings/parser/tests/test_empty_sequence_default_value.py new file mode 100644 index 000000000..350ae72f0 --- /dev/null +++ b/dom/bindings/parser/tests/test_empty_sequence_default_value.py @@ -0,0 +1,45 @@ +import WebIDL + +def WebIDLTest(parser, harness): + threw = False + try: + parser.parse(""" + interface X { + const sequence<long> foo = []; + }; + """) + + results = parser.finish() + except Exception,x: + threw = True + + harness.ok(threw, "Constant cannot have [] as a default value") + + parser = parser.reset() + + parser.parse(""" + interface X { + void foo(optional sequence<long> arg = []); + }; + """) + results = parser.finish(); + + harness.ok(isinstance( + results[0].members[0].signatures()[0][1][0].defaultValue, + WebIDL.IDLEmptySequenceValue), + "Should have IDLEmptySequenceValue as default value of argument") + + parser = parser.reset() + + parser.parse(""" + dictionary X { + sequence<long> foo = []; + }; + """) + results = parser.finish(); + + harness.ok(isinstance(results[0].members[0].defaultValue, + WebIDL.IDLEmptySequenceValue), + "Should have IDLEmptySequenceValue as default value of " + "dictionary member") + |