mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-02-08 01:31:00 +00:00
123 lines
2.9 KiB
Python
123 lines
2.9 KiB
Python
def WebIDLTest(parser, harness):
|
|
parser.parse("""
|
|
[Global]
|
|
interface Foo : Bar {
|
|
getter any(DOMString name);
|
|
};
|
|
interface Bar {};
|
|
""")
|
|
|
|
results = parser.finish()
|
|
|
|
harness.ok(results[0].isOnGlobalProtoChain(),
|
|
"[Global] interface should be on global's proto chain")
|
|
harness.ok(results[1].isOnGlobalProtoChain(),
|
|
"[Global] interface should be on global's proto chain")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
[Global]
|
|
interface Foo {
|
|
getter any(DOMString name);
|
|
setter void(DOMString name, any arg);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [Global] used on an interface with a "
|
|
"named setter")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
[Global]
|
|
interface Foo {
|
|
getter any(DOMString name);
|
|
creator void(DOMString name, any arg);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [Global] used on an interface with a "
|
|
"named creator")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
[Global]
|
|
interface Foo {
|
|
getter any(DOMString name);
|
|
deleter void(DOMString name);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [Global] used on an interface with a "
|
|
"named deleter")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
[Global, OverrideBuiltins]
|
|
interface Foo {
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [Global] used on an interface with a "
|
|
"[OverrideBuiltins]")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
[Global]
|
|
interface Foo : Bar {
|
|
};
|
|
[OverrideBuiltins]
|
|
interface Bar {
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [Global] used on an interface with an "
|
|
"[OverrideBuiltins] ancestor")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
[Global]
|
|
interface Foo {
|
|
};
|
|
interface Bar : Foo {
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [Global] used on an interface with a "
|
|
"descendant")
|