Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 polymer.test.event_handlers_test; | 5 library polymer.test.event_handlers_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:html'; | 8 import 'dart:html'; |
| 9 | 9 |
| 10 import 'package:logging/logging.dart'; | 10 import 'package:logging/logging.dart'; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 82 expect(_testCount, 7, reason: 'event heard by list2 item'); | 82 expect(_testCount, 7, reason: 'event heard by list2 item'); |
| 83 expect(_lastEvent, 'tap', reason: 'tap handled by model'); | 83 expect(_lastEvent, 'tap', reason: 'tap handled by model'); |
| 84 expect(_lastMessage, 'mini-model callback <mini-model 3>'); | 84 expect(_lastMessage, 'mini-model callback <mini-model 3>'); |
| 85 }); | 85 }); |
| 86 } | 86 } |
| 87 } | 87 } |
| 88 | 88 |
| 89 class MiniModel extends Observable { | 89 class MiniModel extends Observable { |
| 90 XTest _element; | 90 XTest _element; |
| 91 @observable final int index; | 91 @observable final int index; |
| 92 @reflectable Function itemTapAction; | 92 @reflectable void itemTapAction(e, d, n) { |
|
Siggi Cherem (dart-lang)
2014/04/02 18:13:27
technically now our build process uses codegen and
| |
| 93 _itemTapAction(e, d, n) { | |
| 94 _element._logEvent(e, 'mini-model callback $this'); | 93 _element._logEvent(e, 'mini-model callback $this'); |
| 95 e.stopPropagation(); | 94 e.stopPropagation(); |
| 96 } | 95 } |
| 97 MiniModel(this._element, this.index) { | 96 MiniModel(this._element, this.index); |
| 98 // TODO(sigmund): remove this and reflect directly on the method. This is | |
| 99 // needed to work around bug 13002 | |
| 100 itemTapAction = _itemTapAction; | |
| 101 } | |
| 102 String toString() => "<mini-model $index>"; | 97 String toString() => "<mini-model $index>"; |
| 103 } | 98 } |
| 104 | 99 |
| 105 main() { | 100 main() { |
| 106 Logger.root..level = Level.FINE | 101 Logger.root..level = Level.FINE |
| 107 ..onRecord.listen((m) => print('${m.loggerName} ${m.message}')); | 102 ..onRecord.listen((m) => print('${m.loggerName} ${m.message}')); |
| 108 | 103 |
| 109 initPolymer(); | 104 initPolymer(); |
| 110 } | 105 } |
| 111 | 106 |
| 112 @initMethod init() { | 107 @initMethod init() { |
| 113 useHtmlConfiguration(); | 108 useHtmlConfiguration(); |
| 114 | 109 |
| 115 setUp(() => Polymer.onReady); | 110 setUp(() => Polymer.onReady); |
| 116 test('events handled', () { | 111 test('events handled', () { |
| 117 XTest test = querySelector('x-test'); | 112 XTest test = querySelector('x-test'); |
| 118 expect(test._onTestDone, isNotNull, reason: 'ready was called'); | 113 expect(test._onTestDone, isNotNull, reason: 'ready was called'); |
| 119 return test._onTestDone; | 114 return test._onTestDone; |
| 120 }); | 115 }); |
| 121 } | 116 } |
| OLD | NEW |