describe("response-targets extension", function() { beforeEach(function() { this.server = sinon.fakeServer.create(); clearWorkArea(); }); afterEach(function() { this.server.restore(); clearWorkArea(); }); it('targets an adjacent element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var btn = make('') var div1 = make('
') btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets an adjacent element properly with wildcard', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var btn = make('') var div1 = make('
') btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a parent element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('
') var btn = byId("b1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a parent element properly with wildcard', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('
') var btn = byId("b1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a `this` element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('
') var btn = byId("b1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a `closest` element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('

') var btn = byId("b1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a `closest` element properly w/ hyperscript syntax', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('

') var btn = byId("b1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a `find` element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('
Click Me!
') div1.click(); this.server.respond(); var span1 = byId("s1") var span2 = byId("s2") span1.innerHTML.should.equal("Not found!"); span2.innerHTML.should.equal(""); }); it('targets a `find` element properly w/ hyperscript syntax', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var div1 = make('
Click Me!
') div1.click(); this.server.respond(); var span1 = byId("s1") var span2 = byId("s2") span1.innerHTML.should.equal("Not found!"); span2.innerHTML.should.equal(""); }); it('targets an inner element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var btn = make('') var div1 = byId("d1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets an inner element properly w/ hyperscript syntax', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var btn = make('') var div1 = byId("d1") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('handles bad target gracefully', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var btn = make('') btn.click(); this.server.respond(); btn.innerHTML.should.equal("Click Me!"); }); it('targets an adjacent element properly w/ data-* prefix', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); var btn = make('') var div1 = make('
') btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); }); it('targets a `next` element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); make('
' + '
' + ' ' + '
' + '
' + '
') var btn = byId("b1") var div1 = byId("d1") var div2 = byId("d2") var div3 = byId("d3") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); div2.innerHTML.should.equal(""); div3.innerHTML.should.equal(""); }); it('targets a `next` element properly w/ hyperscript syntax', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); make('
' + '
' + ' ' + '
' + '
' + '
') var btn = byId("b1") var div1 = byId("d1") var div2 = byId("d2") var div3 = byId("d3") btn.click(); this.server.respond(); div1.innerHTML.should.equal("Not found!"); div2.innerHTML.should.equal(""); div3.innerHTML.should.equal(""); }); it('targets a `previous` element properly', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); make('
' + '
' + ' ' + '
' + '
' + '
') var btn = byId("b1") var div1 = byId("d1") var div2 = byId("d2") var div3 = byId("d3") btn.click(); this.server.respond(); div1.innerHTML.should.equal(""); div2.innerHTML.should.equal(""); div3.innerHTML.should.equal("Not found!"); }); it('targets a `previous` element properly w/ hyperscript syntax', function() { this.server.respondWith("GET", "/test", [404, {}, "Not found!"]); make('
' + '
' + ' ' + '
' + '
' + '
') var btn = byId("b1") var div1 = byId("d1") var div2 = byId("d2") var div3 = byId("d3") btn.click(); this.server.respond(); div1.innerHTML.should.equal(""); div2.innerHTML.should.equal(""); div3.innerHTML.should.equal("Not found!"); }); });