зеркало из https://github.com/mozilla/gecko-dev.git
64 строки
1.5 KiB
Python
64 строки
1.5 KiB
Python
def WebIDLTest(parser, harness):
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
interface VariadicConstraints1 {
|
|
void foo(byte... arg1, byte arg2);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown on variadic argument followed by required "
|
|
"argument.")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
interface VariadicConstraints2 {
|
|
void foo(byte... arg1, optional byte arg2);
|
|
};
|
|
""")
|
|
results = parser.finish();
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown on variadic argument followed by optional "
|
|
"argument.")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
interface VariadicConstraints3 {
|
|
void foo(optional byte... arg1);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw,
|
|
"Should have thrown on variadic argument explicitly flagged as "
|
|
"optional.")
|
|
|
|
parser = parser.reset()
|
|
threw = False
|
|
try:
|
|
parser.parse("""
|
|
interface VariadicConstraints4 {
|
|
void foo(byte... arg1 = 0);
|
|
};
|
|
""")
|
|
results = parser.finish()
|
|
except:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Should have thrown on variadic argument with default value.")
|