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

Side by Side Diff: tests/language/enum_test.dart

Issue 718703002: Update enum encoding to latest spec. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 // SharedOptions=--enable-enum
6
7 import 'package:expect/expect.dart';
8
9 enum Enum1 { _ }
10 enum Enum2 { A }
11 enum Enum3 { B, C }
12 enum Enum4 { D, E, }
13 enum Enum5 { F, G, H }
14
15 main() {
16 Expect.equals('Enum1._', Enum1._.toString());
17 Expect.equals(0, Enum1._.index);
18 Expect.listEquals([Enum1._], Enum1.values);
19 Enum1.values.forEach(test1);
20
21 Expect.equals('Enum2.A', Enum2.A.toString());
22 Expect.equals(0, Enum2.A.index);
23 Expect.listEquals([Enum2.A], Enum2.values);
24 Enum2.values.forEach(test2);
25
26 Expect.equals('Enum3.B', Enum3.B.toString());
27 Expect.equals('Enum3.C', Enum3.C.toString());
28 Expect.equals(0, Enum3.B.index);
29 Expect.equals(1, Enum3.C.index);
30 Expect.listEquals([Enum3.B, Enum3.C], Enum3.values);
31 Enum3.values.forEach(test3);
32
33 Expect.equals('Enum4.D', Enum4.D.toString());
34 Expect.equals('Enum4.E', Enum4.E.toString());
35 Expect.equals(0, Enum4.D.index);
36 Expect.equals(1, Enum4.E.index);
37 Expect.listEquals([Enum4.D, Enum4.E], Enum4.values);
38 Enum4.values.forEach(test4);
39
40 Expect.equals('Enum5.F', Enum5.F.toString());
41 Expect.equals('Enum5.G', Enum5.G.toString());
42 Expect.equals('Enum5.H', Enum5.H.toString());
43 Expect.equals(0, Enum5.F.index);
44 Expect.equals(1, Enum5.G.index);
45 Expect.equals(2, Enum5.H.index);
46 Expect.listEquals([Enum5.F, Enum5.G, Enum5.H], Enum5.values);
47 Enum5.values.forEach(test5);
48 }
49
50 test1(Enum1 e) {
51 int index;
52 switch (e) {
53 case Enum1._:
54 index = 0;
55 break;
56 }
57 Expect.equals(e.index, index);
58 }
59
60 test2(Enum2 e) {
61 int index;
62 switch (e) {
63 case Enum2.A:
64 index = 0;
65 break;
66 }
67 Expect.equals(e.index, index);
68 }
69
70 test3(Enum3 e) {
71 int index;
72 switch (e) {
73 case Enum3.C:
74 index = 1;
75 break;
76 case Enum3.B:
77 index = 0;
78 break;
79 }
80 Expect.equals(e.index, index);
81 }
82
83 test4(Enum4 e) {
84 int index;
85 switch (e) {
86 case Enum4.D:
87 index = 0;
88 break;
89 case Enum4.E:
90 index = 1;
91 break;
92 }
93 Expect.equals(e.index, index);
94 }
95
96 test5(Enum5 e) {
97 int index;
98 switch (e) {
99 case Enum5.H:
100 index = 2;
101 break;
102 case Enum5.F:
103 index = 0;
104 break;
105 case Enum5.G:
106 index = 1;
107 break;
108 }
109 Expect.equals(e.index, index);
110 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698