aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2023-06-24 13:38:11 +0200
committerMartin Robinson <mrobinson@igalia.com>2023-06-30 09:51:31 +0200
commit8be014ee46077e78db21c5d73058c35a4ee65fa9 (patch)
tree9bfd0bc11997381d792fd3015add8be9cd7abd70 /components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py
parent7412e28349237055652a08a2216043d0993a3cea (diff)
downloadservo-8be014ee46077e78db21c5d73058c35a4ee65fa9.tar.gz
servo-8be014ee46077e78db21c5d73058c35a4ee65fa9.zip
Create a top-level "third_party" directory
This directory now contains third_party software that is vendored into the Servo source tree. The idea is that it would eventually hold webrender and other crates from mozilla-central as well with a standard patch management approach for each.
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py')
-rw-r--r--components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py311
1 files changed, 0 insertions, 311 deletions
diff --git a/components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py b/components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py
deleted file mode 100644
index 500d123ddb2..00000000000
--- a/components/script/dom/bindings/codegen/parser/tests/test_unforgeable.py
+++ /dev/null
@@ -1,311 +0,0 @@
-def WebIDLTest(parser, harness):
- parser.parse(
- """
- interface Child : Parent {
- };
- interface Parent {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- harness.check(
- len(results),
- 2,
- "Should be able to inherit from an interface with "
- "[LegacyUnforgeable] properties.",
- )
-
- parser = parser.reset()
- parser.parse(
- """
- interface Child : Parent {
- const short foo = 10;
- };
- interface Parent {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- harness.check(
- len(results),
- 2,
- "Should be able to inherit from an interface with "
- "[LegacyUnforgeable] properties even if we have a constant with "
- "the same name.",
- )
-
- parser = parser.reset()
- parser.parse(
- """
- interface Child : Parent {
- static attribute short foo;
- };
- interface Parent {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- harness.check(
- len(results),
- 2,
- "Should be able to inherit from an interface with "
- "[LegacyUnforgeable] properties even if we have a static attribute "
- "with the same name.",
- )
-
- parser = parser.reset()
- parser.parse(
- """
- interface Child : Parent {
- static undefined foo();
- };
- interface Parent {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- harness.check(
- len(results),
- 2,
- "Should be able to inherit from an interface with "
- "[LegacyUnforgeable] properties even if we have a static operation "
- "with the same name.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- undefined foo();
- };
- interface Parent {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- except:
- threw = True
- harness.ok(
- threw,
- "Should have thrown when shadowing unforgeable attribute on "
- "parent with operation.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- undefined foo();
- };
- interface Parent {
- [LegacyUnforgeable] undefined foo();
- };
- """
- )
-
- results = parser.finish()
- except:
- threw = True
- harness.ok(
- threw,
- "Should have thrown when shadowing unforgeable operation on "
- "parent with operation.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- attribute short foo;
- };
- interface Parent {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- except Exception as x:
- threw = True
- harness.ok(
- threw,
- "Should have thrown when shadowing unforgeable attribute on "
- "parent with attribute.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- attribute short foo;
- };
- interface Parent {
- [LegacyUnforgeable] undefined foo();
- };
- """
- )
-
- results = parser.finish()
- except Exception as x:
- threw = True
- harness.ok(
- threw,
- "Should have thrown when shadowing unforgeable operation on "
- "parent with attribute.",
- )
-
- parser = parser.reset()
- parser.parse(
- """
- interface Child : Parent {
- };
- interface Parent {};
- interface mixin Mixin {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- Parent includes Mixin;
- """
- )
-
- results = parser.finish()
- harness.check(
- len(results),
- 4,
- "Should be able to inherit from an interface with a "
- "mixin with [LegacyUnforgeable] properties.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- undefined foo();
- };
- interface Parent {};
- interface mixin Mixin {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- Parent includes Mixin;
- """
- )
-
- results = parser.finish()
- except:
- threw = True
-
- harness.ok(
- threw,
- "Should have thrown when shadowing unforgeable attribute "
- "of parent's consequential interface.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- };
- interface Parent : GrandParent {};
- interface GrandParent {};
- interface mixin Mixin {
- [LegacyUnforgeable] readonly attribute long foo;
- };
- GrandParent includes Mixin;
- interface mixin ChildMixin {
- undefined foo();
- };
- Child includes ChildMixin;
- """
- )
-
- results = parser.finish()
- except:
- threw = True
-
- harness.ok(
- threw,
- "Should have thrown when our consequential interface shadows unforgeable attribute "
- "of ancestor's consequential interface.",
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface Child : Parent {
- };
- interface Parent : GrandParent {};
- interface GrandParent {};
- interface mixin Mixin {
- [LegacyUnforgeable] undefined foo();
- };
- GrandParent includes Mixin;
- interface mixin ChildMixin {
- undefined foo();
- };
- Child includes ChildMixin;
- """
- )
-
- results = parser.finish()
- except:
- threw = True
-
- harness.ok(
- threw,
- "Should have thrown when our consequential interface shadows unforgeable operation "
- "of ancestor's consequential interface.",
- )
-
- parser = parser.reset()
- parser.parse(
- """
- interface iface {
- [LegacyUnforgeable] attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- harness.check(
- len(results), 1, "Should allow writable [LegacyUnforgeable] attribute."
- )
-
- parser = parser.reset()
- threw = False
- try:
- parser.parse(
- """
- interface iface {
- [LegacyUnforgeable] static readonly attribute long foo;
- };
- """
- )
-
- results = parser.finish()
- except:
- threw = True
-
- harness.ok(threw, "Should have thrown for static [LegacyUnforgeable] attribute.")