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

Side by Side Diff: third_party/pkg/angular/test/_specs.dart

Issue 180873006: Update the Angular/DI tests to latest from github. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Review feedback Created 6 years, 10 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 library ng_specs; 1 library ng_specs;
2 2
3
4 import 'dart:html'; 3 import 'dart:html';
5 import 'dart:mirrors' as mirror;
6 import 'package:unittest/unittest.dart' as unit; 4 import 'package:unittest/unittest.dart' as unit;
7 import 'package:angular/angular.dart'; 5 import 'package:angular/angular.dart';
8 import 'package:angular/mock/module.dart'; 6 import 'package:angular/mock/module.dart';
7 import 'package:collection/wrappers.dart' show DelegatingList;
9 8
10 import 'jasmine_syntax.dart'; 9 import 'jasmine_syntax.dart';
11 10
12 export 'dart:html'; 11 export 'dart:html';
13 export 'jasmine_syntax.dart' hide main; 12 export 'jasmine_syntax.dart' hide main;
14 export 'package:unittest/unittest.dart'; 13 export 'package:unittest/unittest.dart';
15 export 'package:unittest/mock.dart'; 14 export 'package:unittest/mock.dart';
16 export 'package:di/dynamic_injector.dart'; 15 export 'package:di/dynamic_injector.dart';
17 export 'package:angular/angular.dart'; 16 export 'package:angular/angular.dart';
18 export 'package:angular/mock/module.dart'; 17 export 'package:angular/mock/module.dart';
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 toHaveBeenCalledOnceWith([a,b,c,d,e,f]) => 76 toHaveBeenCalledOnceWith([a,b,c,d,e,f]) =>
78 unit.expect(actual.count == 1 && actual.firstArgsMatch(a,b,c,d,e,f), 77 unit.expect(actual.count == 1 && actual.firstArgsMatch(a,b,c,d,e,f),
79 true, 78 true,
80 reason: 'method invoked once with correct arguments. (Called ${ actual.count} times)'); 79 reason: 'method invoked once with correct arguments. (Called ${ actual.count} times)');
81 80
82 toHaveClass(cls) => unit.expect(actual.classes.contains(cls), true, reason: ' Expected ${actual} to have css class ${cls}'); 81 toHaveClass(cls) => unit.expect(actual.classes.contains(cls), true, reason: ' Expected ${actual} to have css class ${cls}');
83 82
84 toEqualSelect(options) { 83 toEqualSelect(options) {
85 var actualOptions = []; 84 var actualOptions = [];
86 85
87 for(var option in actual.querySelectorAll('option')) { 86 for (var option in actual.querySelectorAll('option')) {
88 if (option.selected) { 87 if (option.selected) {
89 actualOptions.add([option.value]); 88 actualOptions.add([option.value]);
90 } else { 89 } else {
91 actualOptions.add(option.value); 90 actualOptions.add(option.value);
92 } 91 }
93 } 92 }
94 return unit.expect(actualOptions, options); 93 return unit.expect(actualOptions, options);
95 } 94 }
96 95
97 toEqualValid() { 96 toEqualValid() {
(...skipping 13 matching lines...) Expand all
111 class NotExpect { 110 class NotExpect {
112 Expect expect; 111 Expect expect;
113 get actual => expect.actual; 112 get actual => expect.actual;
114 NotExpect(this.expect); 113 NotExpect(this.expect);
115 114
116 toHaveBeenCalled() => unit.expect(actual.called, false, reason: 'method called '); 115 toHaveBeenCalled() => unit.expect(actual.called, false, reason: 'method called ');
117 toThrow() => actual(); 116 toThrow() => actual();
118 117
119 toHaveClass(cls) => unit.expect(actual.classes.contains(cls), false, reason: ' Expected ${actual} to not have css class ${cls}'); 118 toHaveClass(cls) => unit.expect(actual.classes.contains(cls), false, reason: ' Expected ${actual} to not have css class ${cls}');
120 toBe(expected) => unit.expect(actual, 119 toBe(expected) => unit.expect(actual,
121 unit.predicate((actual) => !identical(expected, actual), '$expected')); 120 unit.predicate((actual) => !identical(expected, actual), 'not $expected')) ;
122 toEqual(expected) => unit.expect(actual, 121 toEqual(expected) => unit.expect(actual,
123 unit.predicate((actual) => expected != actual, '$expected')); 122 unit.predicate((actual) => expected != actual, 'not $expected'));
124 toContain(expected) => unit.expect(actual, 123 toContain(expected) => unit.expect(actual,
125 unit.predicate((actual) => !actual.contains(expected), '$expected')); 124 unit.predicate((actual) => !actual.contains(expected), 'not $expected'));
126 } 125 }
127 126
128 class ExceptionContains extends unit.Matcher { 127 class ExceptionContains extends unit.Matcher {
129 128
130 final _expected; 129 final _expected;
131 130
132 const ExceptionContains(this._expected); 131 const ExceptionContains(this._expected);
133 132
134 bool matches(item, Map matchState) { 133 bool matches(item, Map matchState) {
135 if (item is String) { 134 if (item is String) {
(...skipping 16 matching lines...) Expand all
152 return new JQuery(selector); 151 return new JQuery(selector);
153 } 152 }
154 153
155 154
156 class GetterSetter { 155 class GetterSetter {
157 Getter getter(String key) => null; 156 Getter getter(String key) => null;
158 Setter setter(String key) => null; 157 Setter setter(String key) => null;
159 } 158 }
160 var getterSetter = new GetterSetter(); 159 var getterSetter = new GetterSetter();
161 160
162 class JQuery implements List<Node> { 161 class JQuery extends DelegatingList<Node> {
163 List<Node> _list = []; 162 JQuery([selector]) : super([]) {
164
165 JQuery([selector]) {
166 if (selector == null) { 163 if (selector == null) {
167 // do nothing; 164 // do nothing;
168 } else if (selector is String) { 165 } else if (selector is String) {
169 _list.addAll(es(selector)); 166 addAll(es(selector));
170 } else if (selector is List) { 167 } else if (selector is List) {
171 _list.addAll(selector); 168 addAll(selector);
172 } else if (selector is Node) { 169 } else if (selector is Node) {
173 add(selector); 170 add(selector);
174 } else { 171 } else {
175 throw selector; 172 throw selector;
176 } 173 }
177 } 174 }
178 175
179 noSuchMethod(Invocation invocation) => mirror.reflect(_list).delegate(invocati on);
180
181 _toHtml(node, [bool outer = false]) { 176 _toHtml(node, [bool outer = false]) {
182 if (node is Comment) { 177 if (node is Comment) {
183 return '<!--${node.text}-->'; 178 return '<!--${node.text}-->';
184 } else { 179 } else {
185 return outer ? node.outerHtml : node.innerHtml; 180 return outer ? node.outerHtml : node.innerHtml;
186 } 181 }
187 } 182 }
188 183
189 accessor(Function getter, Function setter, [value, single=false]) { 184 accessor(Function getter, Function setter, [value, single=false]) {
190 // TODO(dart): ?value does not work, since value was passed. :-( 185 // TODO(dart): ?value does not work, since value was passed. :-(
191 var setterMode = value != null; 186 var setterMode = value != null;
192 var result = setterMode ? this : ''; 187 var result = setterMode ? this : '';
193 _list.forEach((node) { 188 forEach((node) {
194 if (setterMode) { 189 if (setterMode) {
195 setter(node, value); 190 setter(node, value);
196 } else { 191 } else {
197 result = single ? getter(node) : '$result${getter(node)}'; 192 result = single ? getter(node) : '$result${getter(node)}';
198 } 193 }
199 }); 194 });
200 return result; 195 return result;
201 } 196 }
202 197
203 html([String html]) => accessor( 198 html([String html]) => accessor(
(...skipping 14 matching lines...) Expand all
218 prop([String name]) => accessor( 213 prop([String name]) => accessor(
219 (n) => getterSetter.getter(name)(n), 214 (n) => getterSetter.getter(name)(n),
220 (n, v) => getterSetter.setter(name)(n, v), 215 (n, v) => getterSetter.setter(name)(n, v),
221 null, 216 null,
222 true); 217 true);
223 textWithShadow() => fold('', (t, n) => '${t}${renderedText(n)}'); 218 textWithShadow() => fold('', (t, n) => '${t}${renderedText(n)}');
224 find(selector) => fold(new JQuery(), (jq, n) => jq..addAll( 219 find(selector) => fold(new JQuery(), (jq, n) => jq..addAll(
225 (n is Element ? (n as Element).querySelectorAll(selector) : []))); 220 (n is Element ? (n as Element).querySelectorAll(selector) : [])));
226 hasClass(String name) => fold(false, (hasClass, node) => 221 hasClass(String name) => fold(false, (hasClass, node) =>
227 hasClass || (node is Element && (node as Element).classes.contains(name))) ; 222 hasClass || (node is Element && (node as Element).classes.contains(name))) ;
228 addClass(String name) => _list.forEach((node) => 223 addClass(String name) => forEach((node) =>
229 (node is Element) ? (node as Element).classes.add(name) : null); 224 (node is Element) ? (node as Element).classes.add(name) : null);
230 removeClass(String name) => _list.forEach((node) => 225 removeClass(String name) => forEach((node) =>
231 (node is Element) ? (node as Element).classes.remove(name) : null); 226 (node is Element) ? (node as Element).classes.remove(name) : null);
232 css(String name, [String value]) => accessor( 227 css(String name, [String value]) => accessor(
233 (Element n) => n.style.getPropertyValue(name), 228 (Element n) => n.style.getPropertyValue(name),
234 (Element n, v) => n.style.setProperty(name, value), value); 229 (Element n, v) => n.style.setProperty(name, value), value);
235 children() => new JQuery(this[0].childNodes); 230 children() => new JQuery(this[0].childNodes);
236 } 231 }
237 232
238 233
239 main() { 234 main() {
240 beforeEach(setUpInjector); 235 beforeEach(setUpInjector);
241 beforeEach(() => wrapFn(sync)); 236 beforeEach(() => wrapFn(sync));
242 afterEach(tearDownInjector); 237 afterEach(tearDownInjector);
243 } 238 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698