diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2019-02-25 11:48:45 +0530 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-03-01 16:58:46 +0530 |
commit | 8f5db8a7e114ec9a6705da5284f9e5abc3bc7cd2 (patch) | |
tree | 6165f7e9338d3e491cc8774c081178229ecf2806 /components/script/dom/bindings/codegen/parser/tests/test_dictionary.py | |
parent | 427003210b3e16a82f958e35ff4212f26ffa35ab (diff) | |
download | servo-8f5db8a7e114ec9a6705da5284f9e5abc3bc7cd2.tar.gz servo-8f5db8a7e114ec9a6705da5284f9e5abc3bc7cd2.zip |
Update webidl.py from upstream
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/tests/test_dictionary.py')
-rw-r--r-- | components/script/dom/bindings/codegen/parser/tests/test_dictionary.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/components/script/dom/bindings/codegen/parser/tests/test_dictionary.py b/components/script/dom/bindings/codegen/parser/tests/test_dictionary.py index 2c0fa61239d..361b83ea52b 100644 --- a/components/script/dom/bindings/codegen/parser/tests/test_dictionary.py +++ b/components/script/dom/bindings/codegen/parser/tests/test_dictionary.py @@ -26,6 +26,31 @@ def WebIDLTest(parser, harness): harness.check(dict2.members[1].identifier.name, "child", "'a' really comes before 'c'") + # Test partial dictionary. + parser = parser.reset(); + parser.parse(""" + dictionary A { + long c; + long g; + }; + partial dictionary A { + long h; + long d; + }; + """) + results = parser.finish() + + dict1 = results[0]; + harness.check(len(dict1.members), 4, "Dict1 has four members") + harness.check(dict1.members[0].identifier.name, "c", + "c should be first") + harness.check(dict1.members[1].identifier.name, "d", + "d should come after c") + harness.check(dict1.members[2].identifier.name, "g", + "g should come after d") + harness.check(dict1.members[3].identifier.name, "h", + "h should be last") + # Now reset our parser parser = parser.reset() threw = False @@ -42,6 +67,24 @@ def WebIDLTest(parser, harness): harness.ok(threw, "Should not allow name duplication in a dictionary") + # Test no name duplication across normal and partial dictionary. + parser = parser.reset(); + threw = False + try: + parser.parse(""" + dictionary A { + long prop = 5; + }; + partial dictionary A { + long prop; + }; + """) + results = parser.finish() + except: + threw = True + + harness.ok(threw, "Should not allow name duplication across normal and partial dictionary") + # Now reset our parser again parser = parser.reset() threw = False |