OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 @TestOn('browser') | 4 @TestOn('browser') |
5 library polymer_elements.test.iron_form_test; | 5 library polymer_elements.test.iron_form_test; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:html'; | 8 import 'dart:html'; |
9 import 'dart:js'; | 9 import 'dart:js'; |
10 import 'package:polymer_elements/iron_form.dart'; | 10 import 'package:polymer_elements/iron_form.dart'; |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 form = fixture('FormGet'); | 180 form = fixture('FormGet'); |
181 | 181 |
182 var submitted = false; | 182 var submitted = false; |
183 form.on['iron-form-submit'].take(1).listen((_) { | 183 form.on['iron-form-submit'].take(1).listen((_) { |
184 submitted = true; | 184 submitted = true; |
185 }); | 185 }); |
186 | 186 |
187 form.on['iron-form-response'].take(1).listen((event) { | 187 form.on['iron-form-response'].take(1).listen((event) { |
188 expect(submitted, isTrue); | 188 expect(submitted, isTrue); |
189 | 189 |
190 var response = new JsObject.fromBrowserObject(event)['detail']; | 190 var response = convertToDart(event).detail.response; |
191 expect(response, isNotNull); | 191 expect(response, isNotNull); |
192 expect(response is JsObject, isTrue); | 192 expect(response is JsObject, isTrue); |
193 expect(response['success'], isTrue); | 193 expect(response['success'], isTrue); |
194 done.complete(); | 194 done.complete(); |
195 }); | 195 }); |
196 | 196 |
197 form.submit(); | 197 form.submit(); |
198 return done.future; | 198 return done.future; |
199 }); | 199 }); |
200 | 200 |
201 test('can submit with method=post', () { | 201 test('can submit with method=post', () { |
202 var done = new Completer(); | 202 var done = new Completer(); |
203 form = fixture('FormPost'); | 203 form = fixture('FormPost'); |
204 | 204 |
205 var submitted = false; | 205 var submitted = false; |
206 form.on['iron-form-submit'].take(1).listen((_) { | 206 form.on['iron-form-submit'].take(1).listen((_) { |
207 submitted = true; | 207 submitted = true; |
208 }); | 208 }); |
209 | 209 |
210 form.on['iron-form-response'].take(1).listen((event) { | 210 form.on['iron-form-response'].take(1).listen((event) { |
211 expect(submitted, isTrue); | 211 expect(submitted, isTrue); |
212 var response = event.detail; | 212 var response = convertToDart(event).detail.response; |
213 expect(response, isNotNull); | 213 expect(response, isNotNull); |
214 expect(response is JsObject, isTrue); | 214 expect(response is JsObject, isTrue); |
215 expect(response['success'], isTrue); | 215 expect(response['success'], isTrue); |
216 done.complete(); | 216 done.complete(); |
217 }); | 217 }); |
218 | 218 |
219 form.submit(); | 219 form.submit(); |
220 return done.future; | 220 return done.future; |
221 }, skip: 'https://github.com/dart-lang/polymer_elements/issues/16'); | 221 }, skip: 'https://github.com/dart-lang/polymer_elements/issues/16'); |
222 | 222 |
223 test('can relay errors', () { | 223 test('can relay errors', () { |
224 var done = new Completer(); | 224 var done = new Completer(); |
225 form = fixture('FormPost'); | 225 form = fixture('FormPost'); |
226 form.action = "/responds_with_error"; | 226 form.action = "/responds_with_error"; |
227 | 227 |
228 form.on['iron-form-error'].take(1).listen((event) { | 228 form.on['iron-form-error'].take(1).listen((event) { |
229 var error = convertToDart(event).detail; | 229 var error = convertToDart(event).detail; |
230 | 230 |
231 expect(error, isNotNull); | 231 expect(error, isNotNull); |
232 expect(error is Map, isTrue); | 232 expect(error is Map, isTrue); |
233 expect(error['error'], isNotNull); | 233 expect(error['error'], isNotNull); |
234 done.complete(); | 234 done.complete(); |
235 }); | 235 }); |
236 | 236 |
237 form.submit(); | 237 form.submit(); |
238 return done.future; | 238 return done.future; |
239 }); | 239 }); |
240 }); | 240 }); |
241 } | 241 } |
OLD | NEW |