Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Side by Side Diff: polymer_1.0.4/bower_components/paper-radio-group/test/basic.html

Issue 1205703007: Add polymer 1.0 to npm_modules (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Renamed folder to 1.0.4 Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!doctype html>
2 <!--
3 @license
4 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
5 This code may only be used under the BSD style license found at http://polymer.g ithub.io/LICENSE.txt
6 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
7 The complete set of contributors may be found at http://polymer.github.io/CONTRI BUTORS.txt
8 Code distributed by Google as part of the polymer project is also
9 subject to an additional IP rights grant found at http://polymer.github.io/PATEN TS.txt
10 -->
11 <html>
12 <head>
13 <meta charset="UTF-8">
14 <title>paper-radio-group basic tests</title>
15 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximu m-scale=1.0">
16
17 <script src="../../webcomponentsjs/webcomponents-lite.js"></script>
18 <script src="../../web-component-tester/browser.js"></script>
19 <script src="../../test-fixture/test-fixture-mocha.js"></script>
20 <script src="../../iron-test-helpers/mock-interactions.js"></script>
21
22 <link rel="import" href="../../test-fixture/test-fixture.html">
23 <link rel="import" href="../paper-radio-group.html">
24
25 </head>
26 <body>
27
28 <test-fixture id="NoSelection">
29 <template>
30 <paper-radio-group>
31 <paper-radio-button name="r1">r1</paper-radio-button>
32 <paper-radio-button name="r2">r2</paper-radio-button>
33 <paper-radio-button name="r3">r3</paper-radio-button>
34 </paper-radio-group>
35 </template>
36 </test-fixture>
37
38 <test-fixture id="WithSelection">
39 <template>
40 <paper-radio-group selected="r1">
41 <paper-radio-button name="r1">r1</paper-radio-button>
42 <paper-radio-button name="r2">r2</paper-radio-button>
43 <paper-radio-button name="r3">r3</paper-radio-button>
44 </paper-radio-group>
45 </template>
46 </test-fixture>
47
48 <test-fixture id="WithDisabled">
49 <template>
50 <paper-radio-group selected="r1">
51 <paper-radio-button name="r1">r1</paper-radio-button>
52 <paper-radio-button name="r2" disabled>r2</paper-radio-button>
53 <paper-radio-button name="r3">r3</paper-radio-button>
54 </paper-radio-group>
55 </template>
56 </test-fixture>
57
58 <script>
59 suite('defaults', function() {
60 var LEFT_ARROW = 37;
61 var RIGHT_ARROW = 39;
62
63 test('group can have no selection', function () {
64 var g = fixture('NoSelection');
65 expect(g.selected).to.not.be.ok;
66 var items = g.items;
67 expect(items.length).to.be.equal(3);
68 expect(items[0].checked).to.be.equal(false);
69 expect(items[1].checked).to.be.equal(false);
70 expect(items[2].checked).to.be.equal(false);
71 });
72
73 test('group can have a selection', function () {
74 var g = fixture('WithSelection');
75 expect(g.selected).to.be.ok;
76 var items = g.items;
77 expect(items.length).to.be.equal(3);
78
79 expect(items[0].checked).to.be.equal(true);
80 expect(items[1].checked).to.be.equal(false);
81 expect(items[2].checked).to.be.equal(false);
82 expect(items[0].getAttribute('name')).to.be.equal(g.selected);
83 });
84
85 test('right arrow advances the selection', function (done) {
86 var g = fixture('WithSelection');
87 var items = g.items;
88
89 expect(items[0].checked).to.be.equal(true);
90
91 g.addEventListener('paper-radio-group-changed', function () {
92 expect(items[0].checked).to.be.equal(false);
93 expect(items[1].checked).to.be.equal(true);
94 expect(items[2].checked).to.be.equal(false);
95 done();
96 });
97
98 MockInteractions.keyDownOn(g, RIGHT_ARROW);
99 });
100
101 test('left arrow reverses the selection', function (done) {
102 var g = fixture('WithSelection');
103 var items = g.items;
104
105 expect(items[0].checked).to.be.equal(true);
106
107 g.addEventListener('paper-radio-group-changed', function () {
108 expect(items[0].checked).to.be.equal(false);
109 expect(items[1].checked).to.be.equal(false);
110 expect(items[2].checked).to.be.equal(true);
111 done();
112 });
113 MockInteractions.keyDownOn(g, LEFT_ARROW);
114 });
115
116 test('selection should skip disabled items', function (done) {
117 var g = fixture('WithDisabled');
118 var items = g.items;
119
120 expect(items[0].checked).to.be.equal(true);
121
122 g.addEventListener('paper-radio-group-changed', function () {
123 expect(items[0].checked).to.be.equal(false);
124 expect(items[1].checked).to.be.equal(false);
125 expect(items[2].checked).to.be.equal(true);
126 done();
127 });
128 MockInteractions.keyDownOn(g, RIGHT_ARROW);
129 });
130
131 test('clicking should change the selection', function (done) {
132 var g = fixture('WithSelection');
133 var items = g.items;
134
135 expect(items[0].checked).to.be.equal(true);
136
137 g.addEventListener('paper-radio-group-changed', function () {
138 expect(items[0].checked).to.be.equal(false);
139 expect(items[1].checked).to.be.equal(true);
140 expect(items[2].checked).to.be.equal(false);
141 done();
142 });
143
144 MockInteractions.tap(items[1]);
145 });
146
147 test('clicking the selected item should not deselect', function (done) {
148 var g = fixture('WithSelection');
149 var items = g.items;
150
151 expect(items[0].checked).to.be.equal(true);
152 MockInteractions.tap(items[0]);
153
154 // The selection should not change, but wait for a little bit just
155 // in case it would and an event would be fired.
156 setTimeout(function() {
157 try {
158 expect(items[0].checked).to.be.equal(true);
159 expect(items[1].checked).to.be.equal(false);
160 expect(items[2].checked).to.be.equal(false);
161 done();
162 } catch (e) {
163 done(e)
164 }
165 }, 200);
166 });
167
168 });
169 </script>
170 </body>
171 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698