| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion const Symbol(String name) |
| /// Constructs a new Symbol. |
| /// |
| /// The name must be a valid public Dart member name, public constructor name, or |
| /// library name, optionally qualified. |
| /// |
| /// A qualified name is a valid name preceded by a public identifier name and |
| /// a '.', e.g., foo.bar.baz= is a qualified version of baz=. That means that the |
| /// content of the name String must be either |
| /// |
| /// - a valid public Dart identifier (that is, an identifier not starting with " |
| /// _"), such an identifier followed by "=" (a setter name), |
| /// - the name of a declarable operator (one of "+", "-", "*", "/", "%", "~/", |
| /// "&", "|", "^", "~", "<<", ">>", "<", "<=", ">", ">=", "==", "[]", "[]=", or |
| /// "unary-"), |
| /// - any of the above preceded by any number of qualifiers, where a qualifier |
| /// is a non-private identifier followed by '.', or the empty string (the default |
| /// name of a library with no library name declaration). |
| /// @description Checks that there are errors if correct arguments are used and |
| /// created objects equal to corresponding symbol literals. |
| /// @author ilya |
| |
| import "../../../Utils/expect.dart"; |
| |
| main() { |
| Expect.equals(#foo, new Symbol('foo')); |
| Expect.equals(#foo.bar$, new Symbol(r'foo.bar$')); |
| new Symbol(r'foo.bar$.baz_='); |
| |
| Expect.equals(#foo, const Symbol('foo')); |
| Expect.equals(#foo.bar$, const Symbol(r'foo.bar$')); |
| const Symbol(r'foo.bar$.baz_='); |
| } |
| |