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/tests/resources/test-element.sky" as="TestElement" /> | 4 <import src="/sky/tests/resources/test-element.sky" as="TestElement" /> |
5 | 5 |
6 <div id="sandbox"></div> | 6 <div id="sandbox"></div> |
7 | 7 |
8 <test-element id="parser-element" checked="true" size="10" name="foo bar" /> | 8 <test-element id="parser-element" checked="true" size="10" name="foo bar" /> |
9 | 9 |
10 <script> | 10 <script> |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 element.value = 20; | 124 element.value = 20; |
125 }).then(function() { | 125 }).then(function() { |
126 assert.equal(inside.textContent, 20); | 126 assert.equal(inside.textContent, 20); |
127 assert.equal(inside.lang, 20); | 127 assert.equal(inside.lang, 20); |
128 done(); | 128 done(); |
129 }).catch(function(e) { | 129 }).catch(function(e) { |
130 done(e); | 130 done(e); |
131 }); | 131 }); |
132 }); | 132 }); |
133 | 133 |
| 134 it("should two way bind attributes", function(done) { |
| 135 sandbox.appendChild(element); |
| 136 var checkbox = element.shadowRoot.getElementById("checkbox"); |
| 137 assert.isFalse(checkbox.checked); |
| 138 assert.isFalse(element.checked); |
| 139 element.checked = true; |
| 140 assert.isTrue(element.checked); |
| 141 assert.isFalse(checkbox.checked); |
| 142 Promise.resolve().then(function() { |
| 143 assert.isTrue(checkbox.checked); |
| 144 checkbox.checked = false; |
| 145 assert.isFalse(checkbox.checked); |
| 146 return Promise.resolve().then(function() { |
| 147 assert.isFalse(element.checked); |
| 148 assert.isFalse(checkbox.checked); |
| 149 checkbox.checked = true; |
| 150 assert.isTrue(checkbox.checked); |
| 151 return Promise.resolve().then(function() { |
| 152 assert.isTrue(element.checked); |
| 153 element.checked = true; |
| 154 assert.isTrue(element.checked); |
| 155 assert.isTrue(checkbox.checked); |
| 156 element.checked = false; |
| 157 assert.isFalse(element.checked); |
| 158 assert.isTrue(checkbox.checked); |
| 159 return Promise.resolve().then(function() { |
| 160 assert.isFalse(checkbox.checked); |
| 161 assert.isFalse(element.checked); |
| 162 done(); |
| 163 }); |
| 164 }); |
| 165 }); |
| 166 }).catch(function(e) { |
| 167 done(e); |
| 168 }); |
| 169 }); |
| 170 |
134 it("should connect template event handlers", function() { | 171 it("should connect template event handlers", function() { |
135 sandbox.appendChild(element); | 172 sandbox.appendChild(element); |
136 var inside = element.shadowRoot.getElementById("inside"); | 173 var inside = element.shadowRoot.getElementById("inside"); |
137 inside.dispatchEvent(new CustomEvent("wrong-event")); | 174 inside.dispatchEvent(new CustomEvent("wrong-event")); |
138 assert.isNull(element.lastEvent); | 175 assert.isNull(element.lastEvent); |
139 var event = new CustomEvent("test-event"); | 176 var event = new CustomEvent("test-event"); |
140 inside.dispatchEvent(event); | 177 inside.dispatchEvent(event); |
141 assert.equal(element.lastEvent, event); | 178 assert.equal(element.lastEvent, event); |
142 }); | 179 }); |
143 | 180 |
144 it("should connect host event handlers", function() { | 181 it("should connect host event handlers", function() { |
145 sandbox.appendChild(element); | 182 sandbox.appendChild(element); |
146 element.dispatchEvent(new CustomEvent("wrong-event")); | 183 element.dispatchEvent(new CustomEvent("wrong-event")); |
147 assert.isNull(element.lastEvent); | 184 assert.isNull(element.lastEvent); |
148 var event = new CustomEvent("host-event"); | 185 var event = new CustomEvent("host-event"); |
149 element.dispatchEvent(event); | 186 element.dispatchEvent(event); |
150 assert.equal(element.lastEvent, event); | 187 assert.equal(element.lastEvent, event); |
151 }); | 188 }); |
152 | 189 |
153 it("should call shadowRootReady after creating the template instance", functio
n() { | 190 it("should call shadowRootReady after creating the template instance", functio
n() { |
154 assert.equal(element.shadowRootReadyCount, 0); | 191 assert.equal(element.shadowRootReadyCount, 0); |
155 sandbox.appendChild(element); | 192 sandbox.appendChild(element); |
156 assert.equal(element.shadowRootReadyCount, 1); | 193 assert.equal(element.shadowRootReadyCount, 1); |
157 element.remove(); | 194 element.remove(); |
158 sandbox.appendChild(element); | 195 sandbox.appendChild(element); |
159 assert.equal(element.shadowRootReadyCount, 1); | 196 assert.equal(element.shadowRootReadyCount, 1); |
160 }); | 197 }); |
161 }); | 198 }); |
162 </script> | 199 </script> |
163 </sky> | 200 </sky> |
OLD | NEW |