mirror of
https://github.com/servo/servo
synced 2026-04-27 01:55:03 +02:00
This directory now contains third_party software that is vendored into the Servo source tree. The idea is that it would eventually hold webrender and other crates from mozilla-central as well with a standard patch management approach for each.
55 lines
1.2 KiB
Python
55 lines
1.2 KiB
Python
import WebIDL
|
|
|
|
|
|
def WebIDLTest(parser, harness):
|
|
threw = False
|
|
try:
|
|
parser.parse(
|
|
"""
|
|
interface X {
|
|
const sequence<long> foo = [];
|
|
};
|
|
"""
|
|
)
|
|
|
|
results = parser.finish()
|
|
except Exception as x:
|
|
threw = True
|
|
|
|
harness.ok(threw, "Constant cannot have [] as a default value")
|
|
|
|
parser = parser.reset()
|
|
|
|
parser.parse(
|
|
"""
|
|
interface X {
|
|
undefined foo(optional sequence<long> arg = []);
|
|
};
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
|
|
harness.ok(
|
|
isinstance(
|
|
results[0].members[0].signatures()[0][1][0].defaultValue,
|
|
WebIDL.IDLEmptySequenceValue,
|
|
),
|
|
"Should have IDLEmptySequenceValue as default value of argument",
|
|
)
|
|
|
|
parser = parser.reset()
|
|
|
|
parser.parse(
|
|
"""
|
|
dictionary X {
|
|
sequence<long> foo = [];
|
|
};
|
|
"""
|
|
)
|
|
results = parser.finish()
|
|
|
|
harness.ok(
|
|
isinstance(results[0].members[0].defaultValue, WebIDL.IDLEmptySequenceValue),
|
|
"Should have IDLEmptySequenceValue as default value of " "dictionary member",
|
|
)
|