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 |