OLD | NEW |
1 <sky> | 1 <sky> |
2 <import src="/sky/tests//resources/chai.sky" /> | 2 <import src="/sky/tests//resources/chai.sky" /> |
3 <import src="/sky/tests/resources/mocha.sky" /> | 3 <import src="/sky/tests/resources/mocha.sky" /> |
| 4 <import src="/sky/framework/sky-element/sky-element.sky" as="SkyElement" /> |
4 <import src="/sky/tests/resources/test-element.sky" as="TestElement" /> | 5 <import src="/sky/tests/resources/test-element.sky" as="TestElement" /> |
5 | 6 |
6 <div id="sandbox"></div> | 7 <div id="sandbox"></div> |
7 | 8 |
8 <test-element id="parser-element" checked="true" size="10" name="foo bar" /> | 9 <test-element id="parser-element" checked="true" size="10" name="foo bar" /> |
9 | 10 |
| 11 <sky-element name="test-element-parent"> |
| 12 <template> |
| 13 <test-element size="{{ size }}" /> |
| 14 </template> |
| 15 <script> |
| 16 (class extends SkyElement { |
| 17 created() { |
| 18 this.size = 10; |
| 19 } |
| 20 }).register(); |
| 21 </script> |
| 22 </sky-element> |
| 23 |
| 24 <test-element-parent id="parent" /> |
| 25 |
10 <script> | 26 <script> |
11 describe("SkyElement", function() { | 27 describe("SkyElement", function() { |
12 var element; | 28 var element; |
13 var sandbox = document.getElementById("sandbox"); | 29 var sandbox = document.getElementById("sandbox"); |
14 | 30 |
15 beforeEach(function() { | 31 beforeEach(function() { |
16 element = new TestElement(); | 32 element = new TestElement(); |
17 }); | 33 }); |
18 afterEach(function() { | 34 afterEach(function() { |
19 element.remove(); | 35 element.remove(); |
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 | 196 |
181 it("should connect host event handlers", function() { | 197 it("should connect host event handlers", function() { |
182 sandbox.appendChild(element); | 198 sandbox.appendChild(element); |
183 element.dispatchEvent(new CustomEvent("wrong-event")); | 199 element.dispatchEvent(new CustomEvent("wrong-event")); |
184 assert.isNull(element.lastEvent); | 200 assert.isNull(element.lastEvent); |
185 var event = new CustomEvent("host-event"); | 201 var event = new CustomEvent("host-event"); |
186 element.dispatchEvent(event); | 202 element.dispatchEvent(event); |
187 assert.equal(element.lastEvent, event); | 203 assert.equal(element.lastEvent, event); |
188 }); | 204 }); |
189 | 205 |
| 206 it("should not call attributeChanged for binding expression values", function(
) { |
| 207 var parent = document.getElementById('parent'); |
| 208 var element = parent.shadowRoot.querySelector('test-element'); |
| 209 assert.deepEqual(element.changes, [ |
| 210 { name: 'size', oldValue: 0, newValue: 10 }, |
| 211 ]); |
| 212 }); |
| 213 |
190 it("should call shadowRootReady after creating the template instance", functio
n() { | 214 it("should call shadowRootReady after creating the template instance", functio
n() { |
191 assert.equal(element.shadowRootReadyCount, 0); | 215 assert.equal(element.shadowRootReadyCount, 0); |
192 sandbox.appendChild(element); | 216 sandbox.appendChild(element); |
193 assert.equal(element.shadowRootReadyCount, 1); | 217 assert.equal(element.shadowRootReadyCount, 1); |
194 element.remove(); | 218 element.remove(); |
195 sandbox.appendChild(element); | 219 sandbox.appendChild(element); |
196 assert.equal(element.shadowRootReadyCount, 1); | 220 assert.equal(element.shadowRootReadyCount, 1); |
197 }); | 221 }); |
198 }); | 222 }); |
199 </script> | 223 </script> |
200 </sky> | 224 </sky> |
OLD | NEW |