diff options
author | AgostonSzepessy <agszepp@gmail.com> | 2016-03-06 18:47:35 -0500 |
---|---|---|
committer | AgostonSzepessy <agszepp@gmail.com> | 2016-03-22 23:13:30 -0400 |
commit | d3528ffce4092e0b28b9494f96555368bf8945b9 (patch) | |
tree | af13c09d65a3a61e6131b96e4aa45e6bab27905b /components/script/dom/bindings/codegen/parser/tests/test_promise.py | |
parent | 003fdd41769652188a5954e6499f3cb44eef6b10 (diff) | |
download | servo-d3528ffce4092e0b28b9494f96555368bf8945b9.tar.gz servo-d3528ffce4092e0b28b9494f96555368bf8945b9.zip |
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/
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/tests/test_promise.py')
-rw-r--r-- | components/script/dom/bindings/codegen/parser/tests/test_promise.py | 63 |
1 files changed, 63 insertions, 0 deletions
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<any> 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<any> 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<any> 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<any> foo(); + Promise<any> foo(long arg); + }; + """) + results = parser.finish(); + + harness.ok(True, + "Should allow overloads which only have Promise and return " + "types.") |