OLD | NEW |
(Empty) | |
| 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 |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 library polymer.test.event_controller_test; |
| 6 |
| 7 import 'dart:async'; |
| 8 import 'dart:js'; |
| 9 import 'dart:html'; |
| 10 import 'package:polymer/polymer.dart'; |
| 11 import 'package:unittest/unittest.dart'; |
| 12 import 'package:unittest/html_config.dart'; |
| 13 |
| 14 var clickButtonCount = 0; |
| 15 var clickXDartCount = 0; |
| 16 var clickXJsCount = 0; |
| 17 |
| 18 @CustomTag('x-dart') |
| 19 class XDart extends PolymerElement { |
| 20 XDart.created() : super.created(); |
| 21 } |
| 22 |
| 23 @CustomTag('x-controller') |
| 24 class XController extends PolymerElement { |
| 25 XController.created() : super.created(); |
| 26 clickButton() { |
| 27 ++clickButtonCount; |
| 28 } |
| 29 clickXDart() { |
| 30 ++clickXDartCount; |
| 31 } |
| 32 clickXJs() { |
| 33 ++clickXJsCount; |
| 34 } |
| 35 } |
| 36 |
| 37 main() => initPolymer().then((zone) => zone.run(() { |
| 38 useHtmlConfiguration(); |
| 39 |
| 40 setUp(() => Polymer.onReady); |
| 41 |
| 42 test('native element eventController is used properly', () { |
| 43 var controller = querySelector('x-controller'); |
| 44 var button = controller.shadowRoot.querySelector('button'); |
| 45 new JsObject.fromBrowserObject(button)['eventController'] = controller; |
| 46 button.remove(); |
| 47 querySelector('body').append(button); |
| 48 |
| 49 button.click(); |
| 50 expect(clickButtonCount, 1); |
| 51 }); |
| 52 |
| 53 test('dart polymer element eventController is used properly', () { |
| 54 var controller = querySelector('x-controller'); |
| 55 XDart xDart = controller.shadowRoot.querySelector('x-dart'); |
| 56 xDart.eventController = controller; |
| 57 xDart.remove(); |
| 58 querySelector('body').append(xDart); |
| 59 |
| 60 xDart.click(); |
| 61 expect(clickXDartCount, 1); |
| 62 }); |
| 63 |
| 64 test('js polymer elements eventController is used properly', () { |
| 65 var controller = querySelector('x-controller'); |
| 66 var xJs = controller.shadowRoot.querySelector('x-js'); |
| 67 new JsObject.fromBrowserObject(xJs)['eventController'] = controller; |
| 68 xJs.remove(); |
| 69 querySelector('body').append(xJs); |
| 70 |
| 71 xJs.click(); |
| 72 expect(clickXJsCount, 1); |
| 73 }); |
| 74 })); |
OLD | NEW |