From d3528ffce4092e0b28b9494f96555368bf8945b9 Mon Sep 17 00:00:00 2001 From: AgostonSzepessy Date: Sun, 6 Mar 2016 18:47:35 -0500 Subject: components/script/dom/bindings/codegen/parser/update.sh now downloads all the latest *.py tests from https://hg.mozilla.org/mozilla-central/archive/tip.tar.gz/dom/bindings/parser/tests/ --- .../bindings/codegen/parser/tests/test_promise.py | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 components/script/dom/bindings/codegen/parser/tests/test_promise.py (limited to 'components/script/dom/bindings/codegen/parser/tests/test_promise.py') diff --git a/components/script/dom/bindings/codegen/parser/tests/test_promise.py b/components/script/dom/bindings/codegen/parser/tests/test_promise.py new file mode 100644 index 00000000000..55bc0768092 --- /dev/null +++ b/components/script/dom/bindings/codegen/parser/tests/test_promise.py @@ -0,0 +1,63 @@ +def WebIDLTest(parser, harness): + threw = False + try: + parser.parse(""" + interface _Promise {}; + interface A { + legacycaller Promise foo(); + }; + """) + results = parser.finish() + + except: + threw = True + harness.ok(threw, + "Should not allow Promise return values for legacycaller.") + + parser = parser.reset() + threw = False + try: + parser.parse(""" + interface _Promise {}; + interface A { + Promise foo(); + long foo(long arg); + }; + """) + results = parser.finish(); + except: + threw = True + harness.ok(threw, + "Should not allow overloads which have both Promise and " + "non-Promise return types.") + + parser = parser.reset() + threw = False + try: + parser.parse(""" + interface _Promise {}; + interface A { + long foo(long arg); + Promise foo(); + }; + """) + results = parser.finish(); + except: + threw = True + harness.ok(threw, + "Should not allow overloads which have both Promise and " + "non-Promise return types.") + + parser = parser.reset() + parser.parse(""" + interface _Promise {}; + interface A { + Promise foo(); + Promise foo(long arg); + }; + """) + results = parser.finish(); + + harness.ok(True, + "Should allow overloads which only have Promise and return " + "types.") -- cgit v1.2.3