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

Side by Side Diff: sky/tests/framework/templates.sky

Issue 845283003: Allow on-* event handlers on <sky-element>. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Add back attr validation. Created 5 years, 11 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
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
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 connect event handlers", function() { 134 it("should connect template event handlers", function() {
135 sandbox.appendChild(element); 135 sandbox.appendChild(element);
136 var inside = element.shadowRoot.getElementById("inside"); 136 var inside = element.shadowRoot.getElementById("inside");
137 inside.dispatchEvent(new CustomEvent("wrong-event")); 137 inside.dispatchEvent(new CustomEvent("wrong-event"));
138 assert.isNull(element.lastEvent); 138 assert.isNull(element.lastEvent);
139 var event = new CustomEvent("test-event"); 139 var event = new CustomEvent("test-event");
140 inside.dispatchEvent(event); 140 inside.dispatchEvent(event);
141 assert.equal(element.lastEvent, event); 141 assert.equal(element.lastEvent, event);
142 }); 142 });
143 143
144 it("should connect host event handlers", function() {
145 sandbox.appendChild(element);
146 element.dispatchEvent(new CustomEvent("wrong-event"));
147 assert.isNull(element.lastEvent);
148 var event = new CustomEvent("host-event");
149 element.dispatchEvent(event);
150 assert.equal(element.lastEvent, event);
151 });
152
144 it("should call shadowRootReady after creating the template instance", functio n() { 153 it("should call shadowRootReady after creating the template instance", functio n() {
145 assert.equal(element.shadowRootReadyCount, 0); 154 assert.equal(element.shadowRootReadyCount, 0);
146 sandbox.appendChild(element); 155 sandbox.appendChild(element);
147 assert.equal(element.shadowRootReadyCount, 1); 156 assert.equal(element.shadowRootReadyCount, 1);
148 element.remove(); 157 element.remove();
149 sandbox.appendChild(element); 158 sandbox.appendChild(element);
150 assert.equal(element.shadowRootReadyCount, 1); 159 assert.equal(element.shadowRootReadyCount, 1);
151 }); 160 });
152 }); 161 });
153 </script> 162 </script>
154 </sky> 163 </sky>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698