зеркало из https://github.com/mozilla/gecko-dev.git
163 строки
3.8 KiB
Python
163 строки
3.8 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] creator boolean (DOMString name, boolean value);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown for [CEReactions] used on a named creator")
|
|
|
|
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")
|