mirror of
https://github.com/servo/servo.git
synced 2025-08-01 03:30:33 +01:00
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.
157 lines
3.4 KiB
Python
157 lines
3.4 KiB
Python
def WebIDLTest(parser, harness):
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions(DOMString a)] undefined foo(boolean arg2);
|
|
};
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown for [CEReactions] with an argument")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions(DOMString b)] readonly attribute boolean bar;
|
|
};
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown for [CEReactions] with an argument")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions] attribute boolean bar;
|
|
};
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except Exception as e:
|
|
harness.ok(
|
|
False,
|
|
"Shouldn't have thrown for [CEReactions] used on writable attribute. %s"
|
|
% e,
|
|
)
|
|
threw = True
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions] undefined foo(boolean arg2);
|
|
};
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except Exception as e:
|
|
harness.ok(
|
|
False,
|
|
"Shouldn't have thrown for [CEReactions] used on regular operations. %s"
|
|
% e,
|
|
)
|
|
threw = True
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions] readonly attribute boolean A;
|
|
};
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(
|
|
threw, "Should have thrown for [CEReactions] used on a readonly attribute"
|
|
)
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
[CEReactions]
|
|
interface Foo {
|
|
}
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown for [CEReactions] used on a interface")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions] getter any(DOMString name);
|
|
};
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown for [CEReactions] used on a named getter")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions] legacycaller double compute(double x);
|
|
};
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown for [CEReactions] used on a legacycaller")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface Foo {
|
|
[CEReactions] stringifier DOMString ();
|
|
};
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown for [CEReactions] used on a stringifier")
|