| Index: packages/polymer/test/event_controller_test.dart
|
| diff --git a/packages/polymer/test/event_controller_test.dart b/packages/polymer/test/event_controller_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2ecda2d4874368729bc2bbe0e63014cd95f62e51
|
| --- /dev/null
|
| +++ b/packages/polymer/test/event_controller_test.dart
|
| @@ -0,0 +1,74 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library polymer.test.event_controller_test;
|
| +
|
| +import 'dart:async';
|
| +import 'dart:js';
|
| +import 'dart:html';
|
| +import 'package:polymer/polymer.dart';
|
| +import 'package:unittest/unittest.dart';
|
| +import 'package:unittest/html_config.dart';
|
| +
|
| +var clickButtonCount = 0;
|
| +var clickXDartCount = 0;
|
| +var clickXJsCount = 0;
|
| +
|
| +@CustomTag('x-dart')
|
| +class XDart extends PolymerElement {
|
| + XDart.created() : super.created();
|
| +}
|
| +
|
| +@CustomTag('x-controller')
|
| +class XController extends PolymerElement {
|
| + XController.created() : super.created();
|
| + clickButton() {
|
| + ++clickButtonCount;
|
| + }
|
| + clickXDart() {
|
| + ++clickXDartCount;
|
| + }
|
| + clickXJs() {
|
| + ++clickXJsCount;
|
| + }
|
| +}
|
| +
|
| +main() => initPolymer().then((zone) => zone.run(() {
|
| + useHtmlConfiguration();
|
| +
|
| + setUp(() => Polymer.onReady);
|
| +
|
| + test('native element eventController is used properly', () {
|
| + var controller = querySelector('x-controller');
|
| + var button = controller.shadowRoot.querySelector('button');
|
| + new JsObject.fromBrowserObject(button)['eventController'] = controller;
|
| + button.remove();
|
| + querySelector('body').append(button);
|
| +
|
| + button.click();
|
| + expect(clickButtonCount, 1);
|
| + });
|
| +
|
| + test('dart polymer element eventController is used properly', () {
|
| + var controller = querySelector('x-controller');
|
| + XDart xDart = controller.shadowRoot.querySelector('x-dart');
|
| + xDart.eventController = controller;
|
| + xDart.remove();
|
| + querySelector('body').append(xDart);
|
| +
|
| + xDart.click();
|
| + expect(clickXDartCount, 1);
|
| + });
|
| +
|
| + test('js polymer elements eventController is used properly', () {
|
| + var controller = querySelector('x-controller');
|
| + var xJs = controller.shadowRoot.querySelector('x-js');
|
| + new JsObject.fromBrowserObject(xJs)['eventController'] = controller;
|
| + xJs.remove();
|
| + querySelector('body').append(xJs);
|
| +
|
| + xJs.click();
|
| + expect(clickXJsCount, 1);
|
| + });
|
| +}));
|
|
|