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.web.events_test; |
| 6 |
| 7 import 'dart:html'; |
| 8 import 'package:polymer/polymer.dart'; |
| 9 import 'package:unittest/html_config.dart'; |
| 10 import 'package:unittest/unittest.dart'; |
| 11 |
| 12 @CustomTag("test-b") |
| 13 class TestB extends PolymerElement { |
| 14 TestB.created() : super.created(); |
| 15 |
| 16 List clicks = []; |
| 17 void clickHandler(event, detail, target) { |
| 18 clicks.add('local click under $localName (id $id) on ${target.id}'); |
| 19 } |
| 20 } |
| 21 |
| 22 @CustomTag("test-a") |
| 23 class TestA extends PolymerElement { |
| 24 TestA.created() : super.created(); |
| 25 |
| 26 List clicks = []; |
| 27 void clickHandler() { |
| 28 clicks.add('host click on: $localName (id $id)'); |
| 29 } |
| 30 } |
| 31 |
| 32 @reflectable |
| 33 class TestBase extends PolymerElement { |
| 34 TestBase.created() : super.created(); |
| 35 |
| 36 List clicks = []; |
| 37 void clickHandler(e) { |
| 38 clicks.add('local click under $localName (id $id) on ${e.target.id}'); |
| 39 } |
| 40 } |
| 41 |
| 42 @CustomTag("test-c") |
| 43 class TestC extends TestBase { |
| 44 TestC.created() : super.created(); |
| 45 } |
| 46 |
| 47 main() => initPolymer().then((zone) => zone.run(() { |
| 48 useHtmlConfiguration(); |
| 49 |
| 50 setUp(() => Polymer.onReady); |
| 51 |
| 52 test('host event', () { |
| 53 // Note: this test is currently the only event in |
| 54 // polymer/test/js/events.js at commit #7936ff8 |
| 55 var testA = querySelector('#a'); |
| 56 expect(testA.clicks, isEmpty); |
| 57 testA.click(); |
| 58 expect(testA.clicks, ['host click on: test-a (id a)']); |
| 59 }); |
| 60 |
| 61 test('local event', () { |
| 62 var testB = querySelector('#b'); |
| 63 expect(testB.clicks, isEmpty); |
| 64 testB.click(); |
| 65 expect(testB.clicks, []); |
| 66 var b1 = testB.shadowRoot.querySelector('#b-1'); |
| 67 b1.click(); |
| 68 expect(testB.clicks, []); |
| 69 var b2 = testB.shadowRoot.querySelector('#b-2'); |
| 70 b2.click(); |
| 71 expect(testB.clicks, ['local click under test-b (id b) on b-2']); |
| 72 }); |
| 73 |
| 74 test('event on superclass', () { |
| 75 var testC = querySelector('#c'); |
| 76 expect(testC.clicks, isEmpty); |
| 77 testC.click(); |
| 78 expect(testC.clicks, []); |
| 79 var c1 = testC.shadowRoot.querySelector('#c-1'); |
| 80 c1.click(); |
| 81 expect(testC.clicks, []); |
| 82 var c2 = testC.shadowRoot.querySelector('#c-2'); |
| 83 c2.click(); |
| 84 expect(testC.clicks, ['local click under test-c (id c) on c-2']); |
| 85 }); |
| 86 })); |
OLD | NEW |