45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
def WebIDLTest(parser, harness):
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
enum Foo { "a" };
|
|
interface Foo;
|
|
"""
|
|
)
|
|
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" };
|
|
"""
|
|
)
|
|
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" };
|
|
"""
|
|
)
|
|
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",
|
|
)
|