Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Unified Diff: tools/idl_parser/test_parser/interface.idl

Issue 13498002: Add WebIDL compliant parser plus tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge using updated lexer, fix error msgs Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/idl_parser/test_parser/interface.idl
diff --git a/tools/idl_parser/test_parser/interface.idl b/tools/idl_parser/test_parser/interface.idl
new file mode 100644
index 0000000000000000000000000000000000000000..a8a4135e5c1864554b106c26fb4534d8870b207f
--- /dev/null
+++ b/tools/idl_parser/test_parser/interface.idl
@@ -0,0 +1,127 @@
+/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file. */
+
+/* Test Interface productions
+
+Run with --test to generate an AST and verify that all comments accurately
+reflect the state of the Nodes.
+
+BUILD Type(Name)
+This comment signals that a node of type <Type> is created with the
+name <Name>.
+
+ERROR Error String
+This comment signals that a error of <Error String> is generated. The error
+is not assigned to a node, but are expected in order.
+
+PROP Key=Value
+This comment signals that a property has been set on the Node such that
+<Key> = <Value>.
+
+TREE
+Type(Name)
+ Type(Name)
+ Type(Name)
+ Type(Name)
+ ...
+This comment signals that a tree of nodes matching the BUILD comment
+symatics should exist. This is an exact match.
+*/
+
+
+/* TREE
+ *Interface(MyIFace)
+ */
+interface MyIFace { };
+
+/* TREE
+ *Interface(MyIFaceInherit)
+ * Inherit(Foo)
+ */
+interface MyIFaceInherit : Foo {};
+
+/* TREE
+ *Interface(MyIFacePartial)
+ */
+partial interface MyIFacePartial { };
+
+/* ERROR Unexpected ":" after identifier "MyIFaceInherit". */
+partial interface MyIFaceInherit : Foo {};
+
+/* TREE
+ *Interface(MyIFaceBig)
+ * Const(setString)
+ * PrimitiveType(DOMString)
+ * Value(NULL)
+ */
+interface MyIFaceBig {
+ const DOMString? setString = null;
+};
+
+/* TREE
+ *Interface(MyIFaceBig2)
+ * Const(nullValue)
+ * PrimitiveType(DOMString)
+ * Value(NULL)
+ * Const(longValue)
+ * PrimitiveType(long)
+ * Value(123)
+ * Const(longValue2)
+ * PrimitiveType(long long)
+ * Value(123)
+ * Attribute(myString)
+ * Type()
+ * PrimitiveType(DOMString)
+ * Attribute(readOnlyString)
+ * Type()
+ * PrimitiveType(DOMString)
+ * Operation(myFunction)
+ * Type()
+ * PrimitiveType(void)
+ * Arguments()
+ * Argument(myLong)
+ * Type()
+ * PrimitiveType(long long)
+ */
+interface MyIFaceBig2 {
+ const DOMString? nullValue = null;
+ const long longValue = 123;
+ const long long longValue2 = 123;
+ attribute DOMString myString;
+ readonly attribute DOMString readOnlyString;
+ void myFunction(long long myLong);
+};
+
+
+/* TREE
+ *Interface(MyIFaceSpecials)
+ * Operation(set)
+ * Type()
+ * PrimitiveType(void)
+ * Arguments()
+ * Argument(property)
+ * Type()
+ * PrimitiveType(DOMString)
+ * Operation(_unnamed_)
+ * Type()
+ * PrimitiveType(double)
+ * Arguments()
+ * Argument(property)
+ * Type()
+ * PrimitiveType(DOMString)
+ * Operation(GetFiveSix)
+ * Type()
+ * PrimitiveType(long long)
+ * Array(5)
+ * Array(6)
+ * Arguments()
+ * Argument(arg)
+ * Type()
+ * Typeref(SomeType)
+ */
+interface MyIFaceSpecials {
+ setter creator void set(DOMString property);
+ getter double (DOMString property);
+ long long [5][6] GetFiveSix(SomeType arg);
+};

Powered by Google App Engine
This is Rietveld 408576698