1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
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.")
|