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.
49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
# Import the WebIDL module, so we can do isinstance checks and whatnot
|
|
import WebIDL
|
|
|
|
|
|
def WebIDLTest(parser, harness):
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
enum Foo { "a" };
|
|
interface Foo;
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
harness.ok(False, "Should fail to parse")
|
|
except Exception as e:
|
|
harness.ok(
|
|
"Name collision" in str(e), "Should have name collision for interface"
|
|
)
|
|
|
|
parser = parser.reset()
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
dictionary Foo { long x; };
|
|
enum Foo { "a" };
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
harness.ok(False, "Should fail to parse")
|
|
except Exception as e:
|
|
harness.ok(
|
|
"Name collision" in str(e), "Should have name collision for dictionary"
|
|
)
|
|
|
|
parser = parser.reset()
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
enum Foo { "a" };
|
|
enum Foo { "b" };
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
harness.ok(False, "Should fail to parse")
|
|
except Exception as e:
|
|
harness.ok(
|
|
"Multiple unresolvable definitions" in str(e),
|
|
"Should have name collision for dictionary",
|
|
)
|