mirror of
https://github.com/bigskysoftware/htmx.git
synced 2025-09-27 13:01:03 +00:00
[Tests] Fix test pipeline timing issues (#1818)
Fix test pipeline timing issues
This commit is contained in:
parent
8da65b94e5
commit
bb5413dfd2
@ -969,15 +969,15 @@ describe("Core htmx AJAX Tests", function(){
|
||||
it('scripts w/ src attribute are properly loaded', function(done)
|
||||
{
|
||||
try {
|
||||
this.server.respondWith("GET", "/test", "<script src='setGlobal.js'></script>");
|
||||
this.server.respondWith("GET", "/test", "<script id='setGlobalScript' src='setGlobal.js'></script>");
|
||||
var div = make("<div hx-get='/test'></div>");
|
||||
div.click();
|
||||
this.server.respond();
|
||||
setTimeout(function () {
|
||||
byId("setGlobalScript").addEventListener("load", function () {
|
||||
window.globalWasCalled.should.equal(true);
|
||||
delete window.globalWasCalled;
|
||||
done();
|
||||
}, 400);
|
||||
})
|
||||
} finally {
|
||||
delete window.globalWasCalled;
|
||||
}
|
||||
|
@ -123,26 +123,34 @@ describe("Core htmx Parameter Handling", function() {
|
||||
htmx._("urlEncode")({"foo": "bar", "do" : ["rey", "blah"]}).should.equal("foo=bar&do=rey&do=blah");
|
||||
});
|
||||
|
||||
it('form includes last focused button', function () {
|
||||
it('form includes last focused button', function (done) {
|
||||
var form = make('<form hx-get="/foo"><input id="i1" name="foo" value="bar"/><input id="i2" name="do" value="rey"/><button id="b1" name="btn" value="bar"></button></form>');
|
||||
var input = byId('i1');
|
||||
var button = byId('b1');
|
||||
// Listen for focusin on form as it'll bubble up from the button, and htmx binds on the form itself
|
||||
form.addEventListener("focusin", function () {
|
||||
var vals = htmx._('getInputValues')(form).values;
|
||||
vals['foo'].should.equal('bar');
|
||||
vals['do'].should.equal('rey');
|
||||
vals['btn'].should.equal('bar');
|
||||
done();
|
||||
});
|
||||
button.focus();
|
||||
var vals = htmx._('getInputValues')(form).values;
|
||||
vals['foo'].should.equal('bar');
|
||||
vals['do'].should.equal('rey');
|
||||
vals['btn'].should.equal('bar');
|
||||
})
|
||||
|
||||
it('form includes last focused submit', function () {
|
||||
it('form includes last focused submit', function (done) {
|
||||
var form = make('<form hx-get="/foo"><input id="i1" name="foo" value="bar"/><input id="i2" name="do" value="rey"/><input type="submit" id="s1" name="s1" value="bar"/></form>');
|
||||
var input = byId('i1');
|
||||
var button = byId('s1');
|
||||
// Listen for focusin on form as it'll bubble up from the button, and htmx binds on the form itself
|
||||
form.addEventListener("focusin", function () {
|
||||
var vals = htmx._('getInputValues')(form).values;
|
||||
vals['foo'].should.equal('bar');
|
||||
vals['do'].should.equal('rey');
|
||||
vals['s1'].should.equal('bar');
|
||||
done();
|
||||
});
|
||||
button.focus();
|
||||
var vals = htmx._('getInputValues')(form).values;
|
||||
vals['foo'].should.equal('bar');
|
||||
vals['do'].should.equal('rey');
|
||||
vals['s1'].should.equal('bar');
|
||||
})
|
||||
|
||||
it('form does not include button when focus is lost', function () {
|
||||
|
@ -107,6 +107,7 @@ describe("security options", function() {
|
||||
})
|
||||
|
||||
it("can make egress cross site requests when htmx.config.selfRequestsOnly is enabled", function(done){
|
||||
this.timeout(4000)
|
||||
// should trigger send error, rather than reject
|
||||
var listener = htmx.on("htmx:sendError", function (){
|
||||
htmx.off("htmx:sendError", listener);
|
||||
@ -119,6 +120,7 @@ describe("security options", function() {
|
||||
})
|
||||
|
||||
it("can't make egress cross site requests when htmx.config.selfRequestsOnly is enabled", function(done){
|
||||
this.timeout(4000)
|
||||
// should trigger send error, rather than reject
|
||||
htmx.config.selfRequestsOnly = true;
|
||||
var listener = htmx.on("htmx:invalidPath", function (){
|
||||
@ -133,6 +135,7 @@ describe("security options", function() {
|
||||
})
|
||||
|
||||
it("can cancel egress request based on htmx:validateUrl event", function(done){
|
||||
this.timeout(4000)
|
||||
// should trigger send error, rather than reject
|
||||
var pathVerifier = htmx.on("htmx:validateUrl", function (evt){
|
||||
evt.preventDefault();
|
||||
@ -149,6 +152,7 @@ describe("security options", function() {
|
||||
})
|
||||
|
||||
it("can cancel egress request based on htmx:validateUrl event, sameHost is false", function(done){
|
||||
this.timeout(4000)
|
||||
// should trigger send error, rather than reject
|
||||
var pathVerifier = htmx.on("htmx:validateUrl", function (evt){
|
||||
if (evt.detail.sameHost === false) {
|
||||
|
@ -161,8 +161,10 @@
|
||||
<div id="mocha"></div>
|
||||
|
||||
<script class="mocha-exec">
|
||||
mocha.setup({globals: ['$0', '$1', '$2', '$3', '$4', 'performance', 'requestAnimationFrame', 'cancelAnimationFrame']}); <!-- IE11 -->
|
||||
mocha.run();
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
mocha.setup({globals: ['$0', '$1', '$2', '$3', '$4', 'performance', 'requestAnimationFrame', 'cancelAnimationFrame']}); <!-- IE11 -->
|
||||
mocha.run();
|
||||
})
|
||||
</script>
|
||||
<em>Work Area</em>
|
||||
<hr/>
|
||||
|
Loading…
x
Reference in New Issue
Block a user