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

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

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

Powered by Google App Engine
This is Rietveld 408576698