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

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: 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 30 matching lines...) Expand all
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,
Michael Lippautz (Google) 2013/09/20 21:11:16 fits on one line?
52 const Symbol('B.foo'), const Symbol('B.quux'), const Symbol('B.qux'), 52 #B.foo, #B.quux, #B.qux,
53 const Symbol('B.corge')]; 53 #B.corge];
54 Expect.setEquals(constructorKeys, constructors.keys); 54 Expect.setEquals(constructorKeys, constructors.keys);
55 55
56 MethodMirror unnamedConstructor = constructors[const Symbol('B')]; 56 MethodMirror unnamedConstructor = constructors[#B];
57 expect('Method(s(B) in s(B), constructor)', unnamedConstructor); 57 expect('Method(s(B) in s(B), constructor)', unnamedConstructor);
58 expect('[]', unnamedConstructor.parameters); 58 expect('[]', unnamedConstructor.parameters);
59 expect('Class(s(B) in s(test.parameter_test), top-level)', 59 expect('Class(s(B) in s(test.parameter_test), top-level)',
60 unnamedConstructor.returnType); 60 unnamedConstructor.returnType);
61 61
62 MethodMirror fooConstructor = constructors[const Symbol('B.foo')]; 62 MethodMirror fooConstructor = constructors[#B.foo];
63 expect('Method(s(B.foo) in s(B), constructor)', fooConstructor); 63 expect('Method(s(B.foo) in s(B), constructor)', fooConstructor);
64 expect('[Parameter(s(x) in s(B.foo),' 64 expect('[Parameter(s(x) in s(B.foo),'
65 ' type = Class(s(int) in s(dart.core), top-level))]', 65 ' type = Class(s(int) in s(dart.core), top-level))]',
66 fooConstructor.parameters); 66 fooConstructor.parameters);
67 expect('Class(s(B) in s(test.parameter_test), top-level)', 67 expect('Class(s(B) in s(test.parameter_test), top-level)',
68 fooConstructor.returnType); 68 fooConstructor.returnType);
69 69
70 MethodMirror barConstructor = constructors[const Symbol('B.bar')]; 70 MethodMirror barConstructor = constructors[#B.bar];
71 expect('Method(s(B.bar) in s(B), constructor)', barConstructor); 71 expect('Method(s(B.bar) in s(B), constructor)', barConstructor);
72 expect('[Parameter(s(z) in s(B.bar),' 72 expect('[Parameter(s(z) in s(B.bar),'
73 ' type = Class(s(int) in s(dart.core), top-level)), ' 73 ' type = Class(s(int) in s(dart.core), top-level)), '
74 'Parameter(s(x) in s(B.bar),' 74 'Parameter(s(x) in s(B.bar),'
75 ' type = Type(s(dynamic), top-level))]', 75 ' type = Type(s(dynamic), top-level))]',
76 barConstructor.parameters); 76 barConstructor.parameters);
77 expect('Class(s(B) in s(test.parameter_test), top-level)', 77 expect('Class(s(B) in s(test.parameter_test), top-level)',
78 barConstructor.returnType); 78 barConstructor.returnType);
79 79
80 // dart2js stops testing here. 80 // dart2js stops testing here.
81 return; /// 01: ok 81 return; /// 01: ok
82 82
83 MethodMirror bazConstructor = constructors[const Symbol('B.baz')]; 83 MethodMirror bazConstructor = constructors[#B.baz];
84 expect('Method(s(B.baz) in s(B), constructor)', bazConstructor); 84 expect('Method(s(B.baz) in s(B), constructor)', bazConstructor);
85 expect('[Parameter(s(x) in s(B.baz), final,' 85 expect('[Parameter(s(x) in s(B.baz), final,'
86 ' type = Class(s(int) in s(dart.core), top-level)), ' 86 ' type = Class(s(int) in s(dart.core), top-level)), '
87 'Parameter(s(y) in s(B.baz),' 87 'Parameter(s(y) in s(B.baz),'
88 ' type = Class(s(int) in s(dart.core), top-level)), ' 88 ' type = Class(s(int) in s(dart.core), top-level)), '
89 'Parameter(s(z) in s(B.baz), final,' 89 'Parameter(s(z) in s(B.baz), final,'
90 ' type = Class(s(int) in s(dart.core), top-level))]', 90 ' type = Class(s(int) in s(dart.core), top-level))]',
91 bazConstructor.parameters); 91 bazConstructor.parameters);
92 expect('Class(s(B) in s(test.parameter_test), top-level)', 92 expect('Class(s(B) in s(test.parameter_test), top-level)',
93 bazConstructor.returnType); 93 bazConstructor.returnType);
94 94
95 MethodMirror quxConstructor = constructors[const Symbol('B.qux')]; 95 MethodMirror quxConstructor = constructors[#B.qux];
96 expect('Method(s(B.qux) in s(B), constructor)', quxConstructor); 96 expect('Method(s(B.qux) in s(B), constructor)', quxConstructor);
97 expect('[Parameter(s(x) in s(B.qux),' 97 expect('[Parameter(s(x) in s(B.qux),'
98 ' type = Class(s(int) in s(dart.core), top-level)), ' 98 ' type = Class(s(int) in s(dart.core), top-level)), '
99 'Parameter(s(y) in s(B.qux), optional,' 99 'Parameter(s(y) in s(B.qux), optional,'
100 ' value = Instance(value = 4),' 100 ' value = Instance(value = 4),'
101 ' type = Class(s(int) in s(dart.core), top-level))]', 101 ' type = Class(s(int) in s(dart.core), top-level))]',
102 quxConstructor.parameters); 102 quxConstructor.parameters);
103 expect('Class(s(B) in s(test.parameter_test), top-level)', 103 expect('Class(s(B) in s(test.parameter_test), top-level)',
104 quxConstructor.returnType); 104 quxConstructor.returnType);
105 105
106 MethodMirror quuxConstructor = constructors[const Symbol('B.quux')]; 106 MethodMirror quuxConstructor = constructors[#B.quux];
107 expect('Method(s(B.quux) in s(B), constructor)', quuxConstructor); 107 expect('Method(s(B.quux) in s(B), constructor)', quuxConstructor);
108 expect('[Parameter(s(x) in s(B.quux),' 108 expect('[Parameter(s(x) in s(B.quux),'
109 ' type = Class(s(int) in s(dart.core), top-level)), ' 109 ' type = Class(s(int) in s(dart.core), top-level)), '
110 'Parameter(s(str) in s(B.quux), optional, named,' 110 'Parameter(s(str) in s(B.quux), optional, named,'
111 ' value = Instance(value = foo),' 111 ' value = Instance(value = foo),'
112 ' type = Class(s(String) in s(dart.core), top-level))]', 112 ' type = Class(s(String) in s(dart.core), top-level))]',
113 quuxConstructor.parameters); 113 quuxConstructor.parameters);
114 expect('Class(s(B) in s(test.parameter_test), top-level)', 114 expect('Class(s(B) in s(test.parameter_test), top-level)',
115 quuxConstructor.returnType); 115 quuxConstructor.returnType);
116 116
117 MethodMirror corgeConstructor = constructors[const Symbol('B.corge')]; 117 MethodMirror corgeConstructor = constructors[#B.corge];
118 expect('Method(s(B.corge) in s(B), constructor)', corgeConstructor); 118 expect('Method(s(B.corge) in s(B), constructor)', corgeConstructor);
119 expect('[Parameter(s(x) in s(B.corge), optional, named,' 119 expect('[Parameter(s(x) in s(B.corge), optional, named,'
120 ' value = Instance(value = 51),' 120 ' value = Instance(value = 51),'
121 ' type = Class(s(int) in s(dart.core), top-level)), ' 121 ' type = Class(s(int) in s(dart.core), top-level)), '
122 'Parameter(s(str) in s(B.corge), optional, named,' 122 'Parameter(s(str) in s(B.corge), optional, named,'
123 ' value = Instance(value = bar),' 123 ' value = Instance(value = bar),'
124 ' type = Class(s(String) in s(dart.core), top-level))]', 124 ' type = Class(s(String) in s(dart.core), top-level))]',
125 corgeConstructor.parameters); 125 corgeConstructor.parameters);
126 expect('Class(s(B) in s(test.parameter_test), top-level)', 126 expect('Class(s(B) in s(test.parameter_test), top-level)',
127 corgeConstructor.returnType); 127 corgeConstructor.returnType);
128 128
129 MethodMirror xGetter = cm.getters[const Symbol('x')]; 129 MethodMirror xGetter = cm.getters[#x];
130 expect('Method(s(x) in s(B), getter)', xGetter); 130 expect('Method(s(x) in s(B), getter)', xGetter);
131 expect('[]', xGetter.parameters); 131 expect('[]', xGetter.parameters);
132 132
133 MethodMirror xSetter = cm.setters[const Symbol('x=')]; 133 MethodMirror xSetter = cm.setters[const Symbol('x=')];
134 expect('Method(s(x=) in s(B), setter)', xSetter); 134 expect('Method(s(x=) in s(B), setter)', xSetter);
135 expect('[Parameter(s(value) in s(x=), final,' 135 expect('[Parameter(s(value) in s(x=), final,'
136 ' type = Type(s(dynamic), top-level))]', 136 ' type = Type(s(dynamic), top-level))]',
137 xSetter.parameters); 137 xSetter.parameters);
138 138
139 MethodMirror grault = cm.members[const Symbol("grault")]; 139 MethodMirror grault = cm.members[#grault];
140 expect('Method(s(grault) in s(B))', grault); 140 expect('Method(s(grault) in s(B))', grault);
141 expect('[Parameter(s(x) in s(grault), optional,' 141 expect('[Parameter(s(x) in s(grault), optional,'
142 ' type = Class(s(int) in s(dart.core), top-level))]', 142 ' type = Class(s(int) in s(dart.core), top-level))]',
143 grault.parameters); 143 grault.parameters);
144 expect('Instance(value = <null>)', grault.parameters[0].defaultValue); 144 expect('Instance(value = <null>)', grault.parameters[0].defaultValue);
145 145
146 MethodMirror garply = cm.members[const Symbol("garply")]; 146 MethodMirror garply = cm.members[#garply];
147 expect('Method(s(garply) in s(B))', garply); 147 expect('Method(s(garply) in s(B))', garply);
148 expect('[Parameter(s(y) in s(garply), optional, named,' 148 expect('[Parameter(s(y) in s(garply), optional, named,'
149 ' type = Class(s(int) in s(dart.core), top-level))]', 149 ' type = Class(s(int) in s(dart.core), top-level))]',
150 garply.parameters); 150 garply.parameters);
151 expect('Instance(value = <null>)', garply.parameters[0].defaultValue); 151 expect('Instance(value = <null>)', garply.parameters[0].defaultValue);
152 152
153 MethodMirror waldo = cm.members[const Symbol("waldo")]; 153 MethodMirror waldo = cm.members[#waldo];
154 expect('Method(s(waldo) in s(B))', waldo); 154 expect('Method(s(waldo) in s(B))', waldo);
155 expect('[Parameter(s(z) in s(waldo),' 155 expect('[Parameter(s(z) in s(waldo),'
156 ' type = Class(s(int) in s(dart.core), top-level))]', 156 ' type = Class(s(int) in s(dart.core), top-level))]',
157 waldo.parameters); 157 waldo.parameters);
158 expect('<null>', waldo.parameters[0].defaultValue); 158 expect('<null>', waldo.parameters[0].defaultValue);
159 159
160 cm = reflectClass(C); 160 cm = reflectClass(C);
161 161
162 MethodMirror fooInC = cm.members[const Symbol("foo")]; 162 MethodMirror fooInC = cm.members[#foo];
163 expect('Method(s(foo) in s(C))', fooInC); 163 expect('Method(s(foo) in s(C))', fooInC);
164 expect('[Parameter(s(a) in s(foo),' 164 expect('[Parameter(s(a) in s(foo),'
165 ' type = Class(s(int) in s(dart.core), top-level)), ' 165 ' type = Class(s(int) in s(dart.core), top-level)), '
166 'Parameter(s(b) in s(foo),' 166 'Parameter(s(b) in s(foo),'
167 ' type = TypeVariable(s(S) in s(C),' 167 ' type = TypeVariable(s(S) in s(C),'
168 ' upperBound = Class(s(int) in s(dart.core), top-level)))]', 168 ' upperBound = Class(s(int) in s(dart.core), top-level)))]',
169 fooInC.parameters); 169 fooInC.parameters);
170 170
171 MethodMirror barInC = cm.members[const Symbol("bar")]; 171 MethodMirror barInC = cm.members[#bar];
172 expect('Method(s(bar) in s(C))', barInC); 172 expect('Method(s(bar) in s(C))', barInC);
173 expect('[Parameter(s(a) in s(bar),' 173 expect('[Parameter(s(a) in s(bar),'
174 ' type = TypeVariable(s(S) in s(C),' 174 ' type = TypeVariable(s(S) in s(C),'
175 ' upperBound = Class(s(int) in s(dart.core), top-level))), ' 175 ' upperBound = Class(s(int) in s(dart.core), top-level))), '
176 'Parameter(s(b) in s(bar),' 176 'Parameter(s(b) in s(bar),'
177 ' type = TypeVariable(s(T) in s(C),' 177 ' type = TypeVariable(s(T) in s(C),'
178 ' upperBound = Class(s(Object) in s(dart.core), top-level))), ' 178 ' upperBound = Class(s(Object) in s(dart.core), top-level))), '
179 'Parameter(s(c) in s(bar),' 179 'Parameter(s(c) in s(bar),'
180 ' type = Class(s(num) in s(dart.core), top-level))]', 180 ' type = Class(s(num) in s(dart.core), top-level))]',
181 barInC.parameters); 181 barInC.parameters);
182 } 182 }
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