96 lines
2.0 KiB
Plaintext
96 lines
2.0 KiB
Plaintext
|
/* 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 Dictionary 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
|
||
|
*Dictionary(MyDict)
|
||
|
*/
|
||
|
dictionary MyDict { };
|
||
|
|
||
|
/* TREE
|
||
|
*Dictionary(MyDictInherit)
|
||
|
* Inherit(Foo)
|
||
|
*/
|
||
|
dictionary MyDictInherit : Foo {};
|
||
|
|
||
|
/* TREE
|
||
|
*Dictionary(MyDictPartial)
|
||
|
*/
|
||
|
partial dictionary MyDictPartial { };
|
||
|
|
||
|
/* ERROR Unexpected ":" after identifier "MyDictInherit". */
|
||
|
partial dictionary MyDictInherit : Foo {};
|
||
|
|
||
|
/* TREE
|
||
|
*Dictionary(MyDictBig)
|
||
|
* Key(setString)
|
||
|
* Type()
|
||
|
* PrimitiveType(DOMString)
|
||
|
* Default(Foo)
|
||
|
* Key(setLong)
|
||
|
* Type()
|
||
|
* PrimitiveType(unsigned long long)
|
||
|
* Default(123)
|
||
|
* Key(unsetLong)
|
||
|
* Type()
|
||
|
* PrimitiveType(long)
|
||
|
*/
|
||
|
dictionary MyDictBig {
|
||
|
DOMString setString = "Foo";
|
||
|
unsigned long long setLong = 123;
|
||
|
long unsetLong;
|
||
|
};
|
||
|
|
||
|
|
||
|
/* ERROR Unexpected "{" after keyword "dictionary". */
|
||
|
dictionary {
|
||
|
DOMString? setString = null;
|
||
|
};
|
||
|
|
||
|
|
||
|
/* ERROR Unexpected identifier "NoColon" after identifier "ForParent". */
|
||
|
dictionary ForParent NoColon {
|
||
|
DOMString? setString = null;
|
||
|
};
|
||
|
|
||
|
/* TREE
|
||
|
*Dictionary(MyDictNull)
|
||
|
* Key(setString)
|
||
|
* Type()
|
||
|
* PrimitiveType(DOMString)
|
||
|
* Default(NULL)
|
||
|
*/
|
||
|
dictionary MyDictNull {
|
||
|
DOMString? setString = null;
|
||
|
};
|
||
|
|
||
|
|