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

Side by Side Diff: tests/lib/mirrors/parameter_test.dart

Issue 24239010: Use symbol literals in the mirror tests. (Except for void, the empty string and setters.) (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge line Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // This tests uses the multi-test "ok" feature: 5 // This tests uses the multi-test "ok" feature:
6 // none: Desired behaviour, passing on the VM. 6 // none: Desired behaviour, passing on the VM.
7 // 01: Trimmed version for dart2js. 7 // 01: Trimmed version for dart2js.
8 // 8 //
9 // TODO(rmacnak,ahe): Remove multi-test when VM and dart2js are on par. 9 // TODO(rmacnak,ahe): Remove multi-test when VM and dart2js are on par.
10 10
(...skipping 29 matching lines...) Expand all
40 class C <S extends int, T> { 40 class C <S extends int, T> {
41 // TODO(6490): Currently only supported by the VM. 41 // TODO(6490): Currently only supported by the VM.
42 foo(int a, S b) => b; 42 foo(int a, S b) => b;
43 bar(S a, T b, num c) {} 43 bar(S a, T b, num c) {}
44 } 44 }
45 45
46 main() { 46 main() {
47 ClassMirror cm = reflectClass(B); 47 ClassMirror cm = reflectClass(B);
48 Map<Symbol, MethodMirror> constructors = cm.constructors; 48 Map<Symbol, MethodMirror> constructors = cm.constructors;
49 49
50 List<Symbol> constructorKeys = [ 50 List<Symbol> constructorKeys =
51 const Symbol('B'), const Symbol('B.bar'), const Symbol('B.baz'), 51 [#B, #B.bar, #B.baz, #B.foo, #B.quux, #B.qux, #B.corge];
52 const Symbol('B.foo'), const Symbol('B.quux'), const Symbol('B.qux'),
53 const Symbol('B.corge')];
54 Expect.setEquals(constructorKeys, constructors.keys); 52 Expect.setEquals(constructorKeys, constructors.keys);
55 53
56 MethodMirror unnamedConstructor = constructors[const Symbol('B')]; 54 MethodMirror unnamedConstructor = constructors[#B];
57 expect('Method(s(B) in s(B), constructor)', unnamedConstructor); 55 expect('Method(s(B) in s(B), constructor)', unnamedConstructor);
58 expect('[]', unnamedConstructor.parameters); 56 expect('[]', unnamedConstructor.parameters);
59 expect('Class(s(B) in s(test.parameter_test), top-level)', 57 expect('Class(s(B) in s(test.parameter_test), top-level)',
60 unnamedConstructor.returnType); 58 unnamedConstructor.returnType);
61 59
62 MethodMirror fooConstructor = constructors[const Symbol('B.foo')]; 60 MethodMirror fooConstructor = constructors[#B.foo];
63 expect('Method(s(B.foo) in s(B), constructor)', fooConstructor); 61 expect('Method(s(B.foo) in s(B), constructor)', fooConstructor);
64 expect('[Parameter(s(x) in s(B.foo),' 62 expect('[Parameter(s(x) in s(B.foo),'
65 ' type = Class(s(int) in s(dart.core), top-level))]', 63 ' type = Class(s(int) in s(dart.core), top-level))]',
66 fooConstructor.parameters); 64 fooConstructor.parameters);
67 expect('Class(s(B) in s(test.parameter_test), top-level)', 65 expect('Class(s(B) in s(test.parameter_test), top-level)',
68 fooConstructor.returnType); 66 fooConstructor.returnType);
69 67
70 MethodMirror barConstructor = constructors[const Symbol('B.bar')]; 68 MethodMirror barConstructor = constructors[#B.bar];
71 expect('Method(s(B.bar) in s(B), constructor)', barConstructor); 69 expect('Method(s(B.bar) in s(B), constructor)', barConstructor);
72 expect('[Parameter(s(z) in s(B.bar),' 70 expect('[Parameter(s(z) in s(B.bar),'
73 ' type = Class(s(int) in s(dart.core), top-level)), ' 71 ' type = Class(s(int) in s(dart.core), top-level)), '
74 'Parameter(s(x) in s(B.bar),' 72 'Parameter(s(x) in s(B.bar),'
75 ' type = Type(s(dynamic), top-level))]', 73 ' type = Type(s(dynamic), top-level))]',
76 barConstructor.parameters); 74 barConstructor.parameters);
77 expect('Class(s(B) in s(test.parameter_test), top-level)', 75 expect('Class(s(B) in s(test.parameter_test), top-level)',
78 barConstructor.returnType); 76 barConstructor.returnType);
79 77
80 // dart2js stops testing here. 78 // dart2js stops testing here.
81 return; /// 01: ok 79 return; /// 01: ok
82 80
83 MethodMirror bazConstructor = constructors[const Symbol('B.baz')]; 81 MethodMirror bazConstructor = constructors[#B.baz];
84 expect('Method(s(B.baz) in s(B), constructor)', bazConstructor); 82 expect('Method(s(B.baz) in s(B), constructor)', bazConstructor);
85 expect('[Parameter(s(x) in s(B.baz), final,' 83 expect('[Parameter(s(x) in s(B.baz), final,'
86 ' type = Class(s(int) in s(dart.core), top-level)), ' 84 ' type = Class(s(int) in s(dart.core), top-level)), '
87 'Parameter(s(y) in s(B.baz),' 85 'Parameter(s(y) in s(B.baz),'
88 ' type = Class(s(int) in s(dart.core), top-level)), ' 86 ' type = Class(s(int) in s(dart.core), top-level)), '
89 'Parameter(s(z) in s(B.baz), final,' 87 'Parameter(s(z) in s(B.baz), final,'
90 ' type = Class(s(int) in s(dart.core), top-level))]', 88 ' type = Class(s(int) in s(dart.core), top-level))]',
91 bazConstructor.parameters); 89 bazConstructor.parameters);
92 expect('Class(s(B) in s(test.parameter_test), top-level)', 90 expect('Class(s(B) in s(test.parameter_test), top-level)',
93 bazConstructor.returnType); 91 bazConstructor.returnType);
94 92
95 MethodMirror quxConstructor = constructors[const Symbol('B.qux')]; 93 MethodMirror quxConstructor = constructors[#B.qux];
96 expect('Method(s(B.qux) in s(B), constructor)', quxConstructor); 94 expect('Method(s(B.qux) in s(B), constructor)', quxConstructor);
97 expect('[Parameter(s(x) in s(B.qux),' 95 expect('[Parameter(s(x) in s(B.qux),'
98 ' type = Class(s(int) in s(dart.core), top-level)), ' 96 ' type = Class(s(int) in s(dart.core), top-level)), '
99 'Parameter(s(y) in s(B.qux), optional,' 97 'Parameter(s(y) in s(B.qux), optional,'
100 ' value = Instance(value = 4),' 98 ' value = Instance(value = 4),'
101 ' type = Class(s(int) in s(dart.core), top-level))]', 99 ' type = Class(s(int) in s(dart.core), top-level))]',
102 quxConstructor.parameters); 100 quxConstructor.parameters);
103 expect('Class(s(B) in s(test.parameter_test), top-level)', 101 expect('Class(s(B) in s(test.parameter_test), top-level)',
104 quxConstructor.returnType); 102 quxConstructor.returnType);
105 103
106 MethodMirror quuxConstructor = constructors[const Symbol('B.quux')]; 104 MethodMirror quuxConstructor = constructors[#B.quux];
107 expect('Method(s(B.quux) in s(B), constructor)', quuxConstructor); 105 expect('Method(s(B.quux) in s(B), constructor)', quuxConstructor);
108 expect('[Parameter(s(x) in s(B.quux),' 106 expect('[Parameter(s(x) in s(B.quux),'
109 ' type = Class(s(int) in s(dart.core), top-level)), ' 107 ' type = Class(s(int) in s(dart.core), top-level)), '
110 'Parameter(s(str) in s(B.quux), optional, named,' 108 'Parameter(s(str) in s(B.quux), optional, named,'
111 ' value = Instance(value = foo),' 109 ' value = Instance(value = foo),'
112 ' type = Class(s(String) in s(dart.core), top-level))]', 110 ' type = Class(s(String) in s(dart.core), top-level))]',
113 quuxConstructor.parameters); 111 quuxConstructor.parameters);
114 expect('Class(s(B) in s(test.parameter_test), top-level)', 112 expect('Class(s(B) in s(test.parameter_test), top-level)',
115 quuxConstructor.returnType); 113 quuxConstructor.returnType);
116 114
117 MethodMirror corgeConstructor = constructors[const Symbol('B.corge')]; 115 MethodMirror corgeConstructor = constructors[#B.corge];
118 expect('Method(s(B.corge) in s(B), constructor)', corgeConstructor); 116 expect('Method(s(B.corge) in s(B), constructor)', corgeConstructor);
119 expect('[Parameter(s(x) in s(B.corge), optional, named,' 117 expect('[Parameter(s(x) in s(B.corge), optional, named,'
120 ' value = Instance(value = 51),' 118 ' value = Instance(value = 51),'
121 ' type = Class(s(int) in s(dart.core), top-level)), ' 119 ' type = Class(s(int) in s(dart.core), top-level)), '
122 'Parameter(s(str) in s(B.corge), optional, named,' 120 'Parameter(s(str) in s(B.corge), optional, named,'
123 ' value = Instance(value = bar),' 121 ' value = Instance(value = bar),'
124 ' type = Class(s(String) in s(dart.core), top-level))]', 122 ' type = Class(s(String) in s(dart.core), top-level))]',
125 corgeConstructor.parameters); 123 corgeConstructor.parameters);
126 expect('Class(s(B) in s(test.parameter_test), top-level)', 124 expect('Class(s(B) in s(test.parameter_test), top-level)',
127 corgeConstructor.returnType); 125 corgeConstructor.returnType);
128 126
129 MethodMirror xGetter = cm.getters[const Symbol('x')]; 127 MethodMirror xGetter = cm.getters[#x];
130 expect('Method(s(x) in s(B), getter)', xGetter); 128 expect('Method(s(x) in s(B), getter)', xGetter);
131 expect('[]', xGetter.parameters); 129 expect('[]', xGetter.parameters);
132 130
133 MethodMirror xSetter = cm.setters[const Symbol('x=')]; 131 MethodMirror xSetter = cm.setters[const Symbol('x=')];
134 expect('Method(s(x=) in s(B), setter)', xSetter); 132 expect('Method(s(x=) in s(B), setter)', xSetter);
135 expect('[Parameter(s(value) in s(x=), final,' 133 expect('[Parameter(s(value) in s(x=), final,'
136 ' type = Type(s(dynamic), top-level))]', 134 ' type = Type(s(dynamic), top-level))]',
137 xSetter.parameters); 135 xSetter.parameters);
138 136
139 MethodMirror grault = cm.members[const Symbol("grault")]; 137 MethodMirror grault = cm.members[#grault];
140 expect('Method(s(grault) in s(B))', grault); 138 expect('Method(s(grault) in s(B))', grault);
141 expect('[Parameter(s(x) in s(grault), optional,' 139 expect('[Parameter(s(x) in s(grault), optional,'
142 ' type = Class(s(int) in s(dart.core), top-level))]', 140 ' type = Class(s(int) in s(dart.core), top-level))]',
143 grault.parameters); 141 grault.parameters);
144 expect('Instance(value = <null>)', grault.parameters[0].defaultValue); 142 expect('Instance(value = <null>)', grault.parameters[0].defaultValue);
145 143
146 MethodMirror garply = cm.members[const Symbol("garply")]; 144 MethodMirror garply = cm.members[#garply];
147 expect('Method(s(garply) in s(B))', garply); 145 expect('Method(s(garply) in s(B))', garply);
148 expect('[Parameter(s(y) in s(garply), optional, named,' 146 expect('[Parameter(s(y) in s(garply), optional, named,'
149 ' type = Class(s(int) in s(dart.core), top-level))]', 147 ' type = Class(s(int) in s(dart.core), top-level))]',
150 garply.parameters); 148 garply.parameters);
151 expect('Instance(value = <null>)', garply.parameters[0].defaultValue); 149 expect('Instance(value = <null>)', garply.parameters[0].defaultValue);
152 150
153 MethodMirror waldo = cm.members[const Symbol("waldo")]; 151 MethodMirror waldo = cm.members[#waldo];
154 expect('Method(s(waldo) in s(B))', waldo); 152 expect('Method(s(waldo) in s(B))', waldo);
155 expect('[Parameter(s(z) in s(waldo),' 153 expect('[Parameter(s(z) in s(waldo),'
156 ' type = Class(s(int) in s(dart.core), top-level))]', 154 ' type = Class(s(int) in s(dart.core), top-level))]',
157 waldo.parameters); 155 waldo.parameters);
158 expect('<null>', waldo.parameters[0].defaultValue); 156 expect('<null>', waldo.parameters[0].defaultValue);
159 157
160 cm = reflectClass(C); 158 cm = reflectClass(C);
161 159
162 MethodMirror fooInC = cm.members[const Symbol("foo")]; 160 MethodMirror fooInC = cm.members[#foo];
163 expect('Method(s(foo) in s(C))', fooInC); 161 expect('Method(s(foo) in s(C))', fooInC);
164 expect('[Parameter(s(a) in s(foo),' 162 expect('[Parameter(s(a) in s(foo),'
165 ' type = Class(s(int) in s(dart.core), top-level)), ' 163 ' type = Class(s(int) in s(dart.core), top-level)), '
166 'Parameter(s(b) in s(foo),' 164 'Parameter(s(b) in s(foo),'
167 ' type = TypeVariable(s(S) in s(C),' 165 ' type = TypeVariable(s(S) in s(C),'
168 ' upperBound = Class(s(int) in s(dart.core), top-level)))]', 166 ' upperBound = Class(s(int) in s(dart.core), top-level)))]',
169 fooInC.parameters); 167 fooInC.parameters);
170 168
171 MethodMirror barInC = cm.members[const Symbol("bar")]; 169 MethodMirror barInC = cm.members[#bar];
172 expect('Method(s(bar) in s(C))', barInC); 170 expect('Method(s(bar) in s(C))', barInC);
173 expect('[Parameter(s(a) in s(bar),' 171 expect('[Parameter(s(a) in s(bar),'
174 ' type = TypeVariable(s(S) in s(C),' 172 ' type = TypeVariable(s(S) in s(C),'
175 ' upperBound = Class(s(int) in s(dart.core), top-level))), ' 173 ' upperBound = Class(s(int) in s(dart.core), top-level))), '
176 'Parameter(s(b) in s(bar),' 174 'Parameter(s(b) in s(bar),'
177 ' type = TypeVariable(s(T) in s(C),' 175 ' type = TypeVariable(s(T) in s(C),'
178 ' upperBound = Class(s(Object) in s(dart.core), top-level))), ' 176 ' upperBound = Class(s(Object) in s(dart.core), top-level))), '
179 'Parameter(s(c) in s(bar),' 177 'Parameter(s(c) in s(bar),'
180 ' type = Class(s(num) in s(dart.core), top-level))]', 178 ' type = Class(s(num) in s(dart.core), top-level))]',
181 barInC.parameters); 179 barInC.parameters);
182 } 180 }
OLDNEW
« no previous file with comments | « tests/lib/mirrors/parameter_metadata_test.dart ('k') | tests/lib/mirrors/redirecting_factory_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698