");
htmx.findAll(div, ".c1").length.should.equal(3);
htmx.findAll(div, ".c2").length.should.equal(2);
htmx.findAll(div,".c3").length.should.equal(1);
});
it('should find closest element properly', function () {
var div = make("
");
var a = htmx.find(div, "a");
htmx.closest(a, "div").should.equal(div);
});
it('should remove element properly', function () {
var div = make("
");
var a = htmx.find(div, "a");
htmx.remove(a);
div.innerHTML.should.equal("");
});
it('should remove element properly w/ selector', function () {
var div = make("
");
var a = htmx.find(div, "a");
htmx.remove("#a1");
div.innerHTML.should.equal("");
});
it('should add class properly', function () {
var div = make("
");
div.classList.contains("foo").should.equal(false);
htmx.addClass(div, "foo");
div.classList.contains("foo").should.equal(true);
});
it('should add class properly w/ selector', function () {
var div = make("
");
div.classList.contains("foo").should.equal(false);
htmx.addClass("#div1", "foo");
div.classList.contains("foo").should.equal(true);
});
it('should add class properly after delay', function (done) {
var div = make("
");
div.classList.contains("foo").should.equal(false);
htmx.addClass(div, "foo", 10);
div.classList.contains("foo").should.equal(false);
setTimeout(function () {
div.classList.contains("foo").should.equal(true);
done();
}, 20);
});
it('should remove class properly', function () {
var div = make("
");
htmx.addClass(div, "foo");
div.classList.contains("foo").should.equal(true);
htmx.removeClass(div, "foo");
div.classList.contains("foo").should.equal(false);
});
it('should remove class properly w/ selector', function () {
var div = make("
");
htmx.addClass(div, "foo");
div.classList.contains("foo").should.equal(true);
htmx.removeClass("#div1", "foo");
div.classList.contains("foo").should.equal(false);
});
it('should add class properly after delay', function (done) {
var div = make("
");
htmx.addClass(div, "foo");
div.classList.contains("foo").should.equal(true);
htmx.removeClass(div, "foo", 10);
div.classList.contains("foo").should.equal(true);
setTimeout(function () {
div.classList.contains("foo").should.equal(false);
done();
}, 20);
});
it('should toggle class properly', function () {
var div = make("
");
div.classList.contains("foo").should.equal(false);
htmx.toggleClass(div, "foo");
div.classList.contains("foo").should.equal(true);
htmx.toggleClass(div, "foo");
div.classList.contains("foo").should.equal(false);
});
it('should toggle class properly w/ selector', function () {
var div = make("
");
div.classList.contains("foo").should.equal(false);
htmx.toggleClass("#div1", "foo");
div.classList.contains("foo").should.equal(true);
htmx.toggleClass("#div1", "foo");
div.classList.contains("foo").should.equal(false);
});
it('should take class properly', function () {
var div1 = make("
");
var div2 = make("
");
var div3 = make("
");
div1.classList.contains("foo").should.equal(false);
div2.classList.contains("foo").should.equal(false);
div3.classList.contains("foo").should.equal(false);
htmx.takeClass(div1, "foo");
div1.classList.contains("foo").should.equal(true);
div2.classList.contains("foo").should.equal(false);
div3.classList.contains("foo").should.equal(false);
htmx.takeClass(div2, "foo");
div1.classList.contains("foo").should.equal(false);
div2.classList.contains("foo").should.equal(true);
div3.classList.contains("foo").should.equal(false);
htmx.takeClass(div3, "foo");
div1.classList.contains("foo").should.equal(false);
div2.classList.contains("foo").should.equal(false);
div3.classList.contains("foo").should.equal(true);
});
it('should take class properly w/ selector', function () {
var div1 = make("
");
var div2 = make("
");
var div3 = make("
");
div1.classList.contains("foo").should.equal(false);
div2.classList.contains("foo").should.equal(false);
div3.classList.contains("foo").should.equal(false);
htmx.takeClass("#div1", "foo");
div1.classList.contains("foo").should.equal(true);
div2.classList.contains("foo").should.equal(false);
div3.classList.contains("foo").should.equal(false);
htmx.takeClass("#div2", "foo");
div1.classList.contains("foo").should.equal(false);
div2.classList.contains("foo").should.equal(true);
div3.classList.contains("foo").should.equal(false);
htmx.takeClass("#div3", "foo");
div1.classList.contains("foo").should.equal(false);
div2.classList.contains("foo").should.equal(false);
div3.classList.contains("foo").should.equal(true);
});
it('logAll works', function () {
var initialLogger = htmx.config.logger
try {
htmx.logAll();
} finally {
htmx.config.logger = initialLogger;
}
});
})