aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2017-06-09 13:57:30 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2017-06-09 13:57:30 +0200
commite566bc7b1c65e54601f5420bfa071bab9c1b83a3 (patch)
tree2abe85bfa380bcdc594f83f1898012d33d8147bf /components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py
parent243967298312efa892bed42c421e74f221a99ddd (diff)
downloadservo-e566bc7b1c65e54601f5420bfa071bab9c1b83a3.tar.gz
servo-e566bc7b1c65e54601f5420bfa071bab9c1b83a3.zip
Update the WebIDL parser
Diffstat (limited to 'components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py')
-rw-r--r--components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py b/components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py
new file mode 100644
index 00000000000..b510a30c044
--- /dev/null
+++ b/components/script/dom/bindings/codegen/parser/tests/test_identifier_conflict.py
@@ -0,0 +1,39 @@
+# Import the WebIDL module, so we can do isinstance checks and whatnot
+import WebIDL
+
+def WebIDLTest(parser, harness):
+ try:
+ parser.parse("""
+ enum Foo { "a" };
+ interface Foo;
+ """)
+ results = parser.finish()
+ harness.ok(False, "Should fail to parse")
+ except Exception, e:
+ harness.ok("Name collision" in e.message,
+ "Should have name collision for interface")
+
+ parser = parser.reset()
+ try:
+ parser.parse("""
+ dictionary Foo { long x; };
+ enum Foo { "a" };
+ """)
+ results = parser.finish()
+ harness.ok(False, "Should fail to parse")
+ except Exception, e:
+ harness.ok("Name collision" in e.message,
+ "Should have name collision for dictionary")
+
+ parser = parser.reset()
+ try:
+ parser.parse("""
+ enum Foo { "a" };
+ enum Foo { "b" };
+ """)
+ results = parser.finish()
+ harness.ok(False, "Should fail to parse")
+ except Exception, e:
+ harness.ok("Multiple unresolvable definitions" in e.message,
+ "Should have name collision for dictionary")
+