Chromium Code Reviews| Index: tests/language/metadata_test.dart |
| =================================================================== |
| --- tests/language/metadata_test.dart (revision 0) |
| +++ tests/language/metadata_test.dart (revision 0) |
| @@ -0,0 +1,41 @@ |
| +// Copyright (c) 2012, 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. |
| + |
| +// Test ensuring that compiler can parse metadata. Need to add negative |
| +// test cases with illegal metadata annotations. |
| + |
| +class Tag { |
| + final String annotation; |
| + const Tag(this.annotation); |
| +} |
| + |
| +const meta1 = 1; |
| +const meta2 = const Tag("meta2"); |
| + |
| +const extern = const Tag("external"); |
| + |
| +@meta1 var topLevelVar; |
| + |
| +@meta1 typedef int DingDong<@meta2 T>(@meta1 event); |
|
siva
2012/09/07 22:30:17
We probably need some cases which exercise the id.
hausner
2012/09/07 23:07:24
The form with 3 identifiers refers to a qualified
|
| + |
| +@meta1 class A <@Tag("typeParam") T> { |
| + @meta1 @meta2 |
| + static String staticField; |
| + |
| + @extern void foo(@meta1 bool fool, {@meta1 @Tag("opt") x: 100}) { |
| + return x; |
| + } |
| + |
| + @Tag("timewarp") |
| + List<int> getNextWeeksLottoNumbers() => [1, 2, 3, 4, 5, 6]; |
| +} |
| + |
| +@meta1 main() { |
| + @meta1 var a = new A(); |
| + Expect.equals(0, a.foo(false, x: 0)); |
| + |
| + for (@Tag("loopvar") int i = 0; i < 10; i++) { |
| + // Do something. |
| + } |
|
siva
2012/09/07 22:30:17
How about:
@raw_string var string = @'this is a
hausner
2012/09/07 23:07:24
Done.
|
| +} |