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

Side by Side Diff: pkg/polymer_expressions/test/bindings_test.dart

Issue 355133002: switch Node.bind to interop (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 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
« no previous file with comments | « pkg/polymer_expressions/pubspec.yaml ('k') | pkg/polymer_expressions/test/bindings_test.html » ('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) 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 library bindings_test; 5 library bindings_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:html'; 8 import 'dart:html';
9 9
10 import 'package:observe/observe.dart'; 10 import 'package:observe/observe.dart';
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 map.remove('b'); 150 map.remove('b');
151 map['c'] = 3; 151 map['c'] = 3;
152 }).then(_nextMicrotask).then((_) { 152 }).then(_nextMicrotask).then((_) {
153 expect(testDiv.text, 'a:1,c:3,'); 153 expect(testDiv.text, 'a:1,c:3,');
154 map['a'] = 4; 154 map['a'] = 4;
155 }).then(_nextMicrotask).then((_) { 155 }).then(_nextMicrotask).then((_) {
156 expect(testDiv.text, 'a:4,c:3,'); 156 expect(testDiv.text, 'a:4,c:3,');
157 }); 157 });
158 }); 158 });
159 159
160 // TODO(sigmund): enable this test (issue 19105)
161 // _cursorPositionTest(false);
162 _cursorPositionTest(true);
163
164 // Regression tests for issue 18792. 160 // Regression tests for issue 18792.
165 for (var usePolymer in [true, false]) { 161 for (var usePolymer in [true, false]) {
166 // We run these tests both with PolymerExpressions and with the default 162 // We run these tests both with PolymerExpressions and with the default
167 // delegate to ensure the results are consistent. The expressions on these 163 // delegate to ensure the results are consistent. The expressions on these
168 // tests use syntax common to both delegates. 164 // tests use syntax common to both delegates.
169 var name = usePolymer ? 'polymer-expressions' : 'default'; 165 var name = usePolymer ? 'polymer-expressions' : 'default';
170 group('$name delegate', () { 166 group('$name delegate', () {
171 // Use <option template repeat="{{y}}" value="{{}}">item {{}} 167 // Use <option template repeat="{{y}}" value="{{}}">item {{}}
172 _initialSelectTest('{{y}}', '{{}}', usePolymer); 168 _initialSelectTest('{{y}}', '{{}}', usePolymer);
173 _updateSelectTest('{{y}}', '{{}}', usePolymer); 169 _updateSelectTest('{{y}}', '{{}}', usePolymer);
170
171 // TODO(jmesserly): this is broken with polymer-expressions, see
172 // http://dartbug.com/19105
173 if (!usePolymer) _cursorPositionTest(usePolymer);
174 }); 174 });
175 } 175 }
176 176
177 group('polymer-expressions delegate, polymer syntax', () { 177 group('polymer-expressions delegate, polymer syntax', () {
178 // Use <option template repeat="{{i in y}}" value="{{i}}">item {{i}} 178 // Use <option template repeat="{{i in y}}" value="{{i}}">item {{i}}
179 _initialSelectTest('{{i in y}}', '{{i}}', true); 179 _initialSelectTest('{{i in y}}', '{{i}}', true);
180 _updateSelectTest('{{i in y}}', '{{i}}', true); 180 _updateSelectTest('{{i in y}}', '{{i}}', true);
181 }); 181 });
182 }); 182 });
183 }); 183 });
(...skipping 19 matching lines...) Expand all
203 203
204 expect(el.value, 'abcde'); 204 expect(el.value, 'abcde');
205 expect(model.x, 'abcde'); 205 expect(model.x, 'abcde');
206 206
207 el.selectionStart = 3; 207 el.selectionStart = 3;
208 el.selectionEnd = 3; 208 el.selectionEnd = 3;
209 expect(el.selectionStart, 3); 209 expect(el.selectionStart, 3);
210 expect(el.selectionEnd, 3); 210 expect(el.selectionEnd, 3);
211 211
212 el.value = 'abc de'; 212 el.value = 'abc de';
213 // Updating the input value programatically (even to the same value in 213 // Updating the input value programmatically (even to the same value in
214 // Chrome) loses the selection position. 214 // Chrome) loses the selection position.
215 expect(el.selectionStart, 6); 215 expect(el.selectionStart, 6);
216 expect(el.selectionEnd, 6); 216 expect(el.selectionEnd, 6);
217 217
218 el.selectionStart = 4; 218 el.selectionStart = 4;
219 el.selectionEnd = 4; 219 el.selectionEnd = 4;
220 220
221 expect(model.x, 'abcde'); 221 expect(model.x, 'abcde');
222 el.dispatchEvent(new Event('input')); 222 el.dispatchEvent(new Event('input'));
223 expect(model.x, 'abc de'); 223 expect(model.x, 'abc de');
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 get y => _y; 311 get y => _y;
312 set y(value) { 312 set y(value) {
313 _y = notifyPropertyChange(#y, _y, value); 313 _y = notifyPropertyChange(#y, _y, value);
314 } 314 }
315 } 315 }
316 316
317 class _NullTreeSanitizer implements NodeTreeSanitizer { 317 class _NullTreeSanitizer implements NodeTreeSanitizer {
318 void sanitizeTree(Node node) {} 318 void sanitizeTree(Node node) {}
319 } 319 }
320 final _nullTreeSanitizer = new _NullTreeSanitizer(); 320 final _nullTreeSanitizer = new _NullTreeSanitizer();
OLDNEW
« no previous file with comments | « pkg/polymer_expressions/pubspec.yaml ('k') | pkg/polymer_expressions/test/bindings_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698