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

Side by Side Diff: test/iron_input_test.dart

Issue 1418513006: update elements and fix some bugs (Closed) Base URL: git@github.com:dart-lang/polymer_elements.git@master
Patch Set: code review updates Created 5 years, 1 month 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
« no previous file with comments | « test/iron_iconset_test.dart ('k') | test/iron_list_different_heights_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_input_test; 5 library polymer_elements.test.iron_input_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/polymer.dart';
10 import 'package:polymer_elements/iron_input.dart'; 11 import 'package:polymer_elements/iron_input.dart';
11 import 'package:test/test.dart'; 12 import 'package:test/test.dart';
12 import 'package:web_components/web_components.dart'; 13 import 'package:web_components/web_components.dart';
13 import 'common.dart'; 14 import 'common.dart';
14 15
15 main() async { 16 main() async {
16 await initWebComponents(); 17 await initPolymer();
18 var x = 'hello';
17 19
18 group('basic', () { 20 group('basic', () {
19 test('setting bindValue sets value', () { 21 test('setting bindValue sets value', () {
20 IronInput input = fixture('basic'); 22 IronInput input = fixture('basic');
21 input.bindValue = 'foobar'; 23 input.bindValue = 'foobar';
22 expect(input.value, input.bindValue, reason: 'value equals to bindValue'); 24 expect(input.value, input.bindValue, reason: 'value equals to bindValue');
23 }); 25 });
24 26
25 test('changing the input triggers an event', () { 27 test('changing the input triggers an event', () {
26 var done = new Completer(); 28 var done = new Completer();
(...skipping 13 matching lines...) Expand all
40 IronInput input = fixture('has-value'); 42 IronInput input = fixture('has-value');
41 expect(input.bindValue, input.value, reason: 'bindValue equals value'); 43 expect(input.bindValue, input.value, reason: 'bindValue equals value');
42 }); 44 });
43 45
44 test('default bindValue sets value', () { 46 test('default bindValue sets value', () {
45 IronInput input = fixture('has-bind-value'); 47 IronInput input = fixture('has-bind-value');
46 expect(input.value, input.bindValue, reason: 'value equals to bindValue'); 48 expect(input.value, input.bindValue, reason: 'value equals to bindValue');
47 }); 49 });
48 50
49 test('set bindValue to undefined', () { 51 test('set bindValue to undefined', () {
50 var scope = new JsObject.fromBrowserObject( 52 DomBind scope = document.getElementById('bind-to-object');
51 document.getElementById('bind-to-object'));
52 scope['foo'] = null; 53 scope['foo'] = null;
53 expect(scope[r'$']['input'].bindValue, isNull, 54 expect(scope.$['input'].bindValue, isNull,
54 reason: 'bindValue is falsy'); 55 reason: 'bindValue is falsy');
55 expect(scope[r'$']['input'].value, isEmpty, reason: 'value is falsy'); 56 expect(scope.$['input'].value, isEmpty, reason: 'value is falsy');
56 }); 57 });
57 58
58 test('validator used instead of constraints api if provided', () { 59 test('validator used instead of constraints api if provided', () {
59 IronInput input = fixture('has-validator')[1]; 60 IronInput input = fixture('has-validator')[1];
60 input.value = '123'; 61 input.value = '123';
61 input.validate(); 62 input.validate();
62 expect(input.invalid, isTrue, reason: 'input is invalid'); 63 expect(input.invalid, isTrue, reason: 'input is invalid');
63 }); 64 });
64 65
65 test('prevent invalid input works in _onInput', () { 66 test('prevent invalid input works in _onInput', () {
66 IronInput input = fixture('prevent-invalid-input'); 67 IronInput input = fixture('prevent-invalid-input');
67 input.value = '123'; 68 input.value = '123';
68 input.jsElement.callMethod('_onInput'); 69 input.jsElement.callMethod('_onInput');
69 expect(input.bindValue, '123'); 70 expect(input.bindValue, '123');
70 input.value = '123foo'; 71 input.value = '123foo';
71 input.jsElement.callMethod('_onInput'); 72 input.jsElement.callMethod('_onInput');
72 expect(input.bindValue, '123'); 73 expect(input.bindValue, '123');
73 }); 74 });
74 }); 75 });
75 } 76 }
OLDNEW
« no previous file with comments | « test/iron_iconset_test.dart ('k') | test/iron_list_different_heights_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698