Source code

Revision control

Copy as Markdown

Other Tools

import WebIDL
def WebIDLTest(parser, harness):
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers1 {
const byte thing1 = 1;
readonly attribute long thing1;
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers1.")
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers2 {
readonly attribute long thing1;
const byte thing1 = 1;
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers2.")
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers3 {
getter boolean thing1(DOMString name);
readonly attribute long thing1;
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers3.")
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers4 {
const byte thing1 = 1;
long thing1();
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers4.")
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers5 {
static long thing1();
undefined thing1();
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(
not threw, "Should not have thrown for IdentifierConflictAcrossMembers5."
)
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface mixin IdentifierConflictAcrossMembers6Mixin {
undefined thing1();
};
interface IdentifierConflictAcrossMembers6 {
static long thing1();
};
IdentifierConflictAcrossMembers6 includes IdentifierConflictAcrossMembers6Mixin;
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(
not threw, "Should not have thrown for IdentifierConflictAcrossMembers6."
)
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers7 {
const byte thing1 = 1;
static readonly attribute long thing1;
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers7.")
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers8 {
readonly attribute long thing1 = 1;
static readonly attribute long thing1;
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers8.")
parser = parser.reset()
threw = False
try:
parser.parse(
"""
interface IdentifierConflictAcrossMembers9 {
void thing1();
static readonly attribute long thing1;
};
"""
)
parser.finish()
except WebIDL.WebIDLError:
threw = True
harness.ok(threw, "Should have thrown for IdentifierConflictAcrossMembers9.")