Create a top-level "third_party" directory

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.
This commit is contained in:
Martin Robinson 2023-06-24 13:38:11 +02:00
parent 7412e28349
commit 8be014ee46
No known key found for this signature in database
GPG key ID: D56AA4FA55EFE6F8
148 changed files with 10 additions and 7 deletions

View file

@ -0,0 +1,131 @@
import WebIDL
def WebIDLTest(parser, harness):
parser.parse(
"""
[LegacyNoInterfaceObject]
interface TestExtendedAttr {
[LegacyUnforgeable] readonly attribute byte b;
};
"""
)
results = parser.finish()
parser = parser.reset()
parser.parse(
"""
[Pref="foo.bar",Pref=flop]
interface TestExtendedAttr {
[Pref="foo.bar"] attribute byte b;
};
"""
)
results = parser.finish()
parser = parser.reset()
parser.parse(
"""
interface TestLegacyLenientThis {
[LegacyLenientThis] attribute byte b;
};
"""
)
results = parser.finish()
harness.ok(
results[0].members[0].hasLegacyLenientThis(), "Should have a lenient this"
)
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface TestLegacyLenientThis2 {
[LegacyLenientThis=something] attribute byte b;
};
"""
)
results = parser.finish()
except:
threw = True
harness.ok(threw, "[LegacyLenientThis] must take no arguments")
parser = parser.reset()
parser.parse(
"""
interface TestClamp {
undefined testClamp([Clamp] long foo);
undefined testNotClamp(long foo);
};
"""
)
results = parser.finish()
# Pull out the first argument out of the arglist of the first (and
# only) signature.
harness.ok(
results[0].members[0].signatures()[0][1][0].type.hasClamp(), "Should be clamped"
)
harness.ok(
not results[0].members[1].signatures()[0][1][0].type.hasClamp(),
"Should not be clamped",
)
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface TestClamp2 {
undefined testClamp([Clamp=something] long foo);
};
"""
)
results = parser.finish()
except:
threw = True
harness.ok(threw, "[Clamp] must take no arguments")
parser = parser.reset()
parser.parse(
"""
interface TestEnforceRange {
undefined testEnforceRange([EnforceRange] long foo);
undefined testNotEnforceRange(long foo);
};
"""
)
results = parser.finish()
# Pull out the first argument out of the arglist of the first (and
# only) signature.
harness.ok(
results[0].members[0].signatures()[0][1][0].type.hasEnforceRange(),
"Should be enforceRange",
)
harness.ok(
not results[0].members[1].signatures()[0][1][0].type.hasEnforceRange(),
"Should not be enforceRange",
)
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface TestEnforceRange2 {
undefined testEnforceRange([EnforceRange=something] long foo);
};
"""
)
results = parser.finish()
except:
threw = True
harness.ok(threw, "[EnforceRange] must take no arguments")