diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2016-05-09 05:04:57 -0700 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2016-05-09 05:04:57 -0700 |
commit | b054cb82a6b50b07209c9a8670076d1d9ed61605 (patch) | |
tree | a37a6d2a58efa219e7820b67de5ed3af44ab2191 /components/script/dom/bindings/codegen/parser/tests/test_mozmap.py | |
parent | 9a8c81773a7dc51301e52ce3f02f8ea55984365a (diff) | |
parent | d3528ffce4092e0b28b9494f96555368bf8945b9 (diff) | |
download | servo-b054cb82a6b50b07209c9a8670076d1d9ed61605.tar.gz servo-b054cb82a6b50b07209c9a8670076d1d9ed61605.zip |
Auto merge of #9890 - AgostonSzepessy:update-webidl-tests, r=nox
update.sh downloads all *.py tests from mozilla central
components/script/dom/bindings/codegen/parser/update.sh downloads all *.py tests from https://dxr.mozilla.org/mozilla-central/source/dom/bindings/parser/tests
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9890)
<!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/tests/test_mozmap.py')
-rw-r--r-- | components/script/dom/bindings/codegen/parser/tests/test_mozmap.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/components/script/dom/bindings/codegen/parser/tests/test_mozmap.py b/components/script/dom/bindings/codegen/parser/tests/test_mozmap.py new file mode 100644 index 00000000000..1a36fdd62c4 --- /dev/null +++ b/components/script/dom/bindings/codegen/parser/tests/test_mozmap.py @@ -0,0 +1,39 @@ +import WebIDL + +def WebIDLTest(parser, harness): + parser.parse(""" + dictionary Dict {}; + interface MozMapArg { + void foo(MozMap<Dict> arg); + }; + """) + + results = parser.finish() + + harness.check(len(results), 2, "Should know about two things"); + harness.ok(isinstance(results[1], WebIDL.IDLInterface), + "Should have an interface here"); + members = results[1].members + harness.check(len(members), 1, "Should have one member") + harness.ok(members[0].isMethod(), "Should have method") + signature = members[0].signatures()[0] + args = signature[1] + harness.check(len(args), 1, "Should have one arg") + harness.ok(args[0].type.isMozMap(), "Should have a MozMap type here") + harness.ok(args[0].type.inner.isDictionary(), + "Should have a dictionary inner type") + + parser = parser.reset() + threw = False + try: + parser.parse(""" + interface MozMapVoidArg { + void foo(MozMap<void> arg); + }; + """) + + results = parser.finish() + except Exception,x: + threw = True + + harness.ok(threw, "Should have thrown.") |