зеркало из https://github.com/mozilla/gecko-dev.git
148 строки
3.4 KiB
Python
148 строки
3.4 KiB
Python
|
def WebIDLTest(parser, harness):
|
||
|
threw = False
|
||
|
try:
|
||
|
parser.parse("""
|
||
|
interface Foo {
|
||
|
[CEReactions(DOMString a)] void 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, 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] void foo(boolean arg2);
|
||
|
};
|
||
|
""")
|
||
|
|
||
|
results = parser.finish()
|
||
|
except Exception, 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")
|
||
|
|
||
|
parser = parser.reset()
|
||
|
threw = False
|
||
|
try:
|
||
|
parser.parse("""
|
||
|
interface Foo {
|
||
|
[CEReactions] jsonifier;
|
||
|
};
|
||
|
""")
|
||
|
|
||
|
results = parser.finish()
|
||
|
except:
|
||
|
threw = True
|
||
|
|
||
|
harness.ok(threw, "Should have thrown for [CEReactions] used on a jsonifier")
|