')
var b1 = byId("b1");
var b2 = byId("b2");
b1.click();
b2.click();
this.server.respond();
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
});
it('defaults to the drop strategy', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
'
')
var b1 = byId("b1");
var b2 = byId("b2");
b1.click();
b2.click();
this.server.respond();
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
});
it('can use replace strategy', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
'
')
var b1 = byId("b1");
var b2 = byId("b2");
b1.click();
b2.click();
this.server.respond();
this.server.respond();
b1.innerHTML.should.equal('Initial');
b2.innerHTML.should.equal('Click 0');
});
it('can use queue all strategy', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
' ' +
'
')
var b1 = byId("b1");
b1.click();
var b2 = byId("b2");
b2.click();
var b3 = byId("b3");
b3.click();
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
b3.innerHTML.should.equal('Initial');
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Click 1');
b3.innerHTML.should.equal('Initial');
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Click 1');
b3.innerHTML.should.equal('Click 2');
});
it('can use queue last strategy', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
' ' +
'
')
var b1 = byId("b1");
b1.click();
var b2 = byId("b2");
b2.click();
var b3 = byId("b3");
b3.click();
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
b3.innerHTML.should.equal('Initial');
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
b3.innerHTML.should.equal('Click 1');
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
b3.innerHTML.should.equal('Click 1');
});
it('can use queue first strategy', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
' ' +
'
')
var b1 = byId("b1");
b1.click();
var b2 = byId("b2");
b2.click();
var b3 = byId("b3");
b3.click();
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Initial');
b3.innerHTML.should.equal('Initial');
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Click 1');
b3.innerHTML.should.equal('Initial');
this.server.respond();
b1.innerHTML.should.equal('Click 0');
b2.innerHTML.should.equal('Click 1');
b3.innerHTML.should.equal('Initial');
});
it('can use abort strategy to end existing abortable request', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
'
')
var b1 = byId("b1");
var b2 = byId("b2");
b1.click();
b2.click();
this.server.respond();
this.server.respond();
b1.innerHTML.should.equal('Initial');
b2.innerHTML.should.equal('Click 0');
});
it('can use abort strategy to drop abortable request when one is in flight', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
'
')
var b1 = byId("b1");
var b2 = byId("b2");
b2.click();
b1.click();
this.server.respond();
this.server.respond();
b1.innerHTML.should.equal('Initial');
b2.innerHTML.should.equal('Click 0');
});
it('can abort a request programmatically', function()
{
var count = 0;
this.server.respondWith("GET", "/test", function(xhr){
xhr.respond(200, {}, "Click " + count++);
});
make('
' +
'
')
var b1 = byId("b1");
var b2 = byId("b2");
b1.click();
b2.click();
htmx.trigger(b1, "htmx:abort");
this.server.respond();
this.server.respond();
b1.innerHTML.should.equal('Initial');
b2.innerHTML.should.equal('Click 0');
});
})