Я пытаюсь протестировать простейший случай addClass с длительностью (используя jQuery UI и Jasmine).
Вот тест, который не проходит:
it("should use jquery ui", function() {
runs(function() {
expect(el.hasClass("fdsa")).toBeFalsy();
el.addClass("fdsa", 1000);
expect(el.hasClass("fdsa")).toBeFalsy();// this should not be failing, but it is
});
waits(1000);
runs(function() {
expect(el.hasClass("fdsa")).toBeTruthy();
});
});
Я ожидаю, что у него не будет класса до 1000 миллисекунд.Когда я проверяю это из консоли браузера, он ведет себя следующим образом.
Это проверка работоспособности, которую я использовал (проверено в окне браузера Jasmine).
el = $($("div")[0]);
el.addClass("qwer", 1000);
console.log(el.hasClass("qwer")); // output is "false"
setTimeout( function(){
console.log(el.hasClass("qwer")); // output is "true"
}, 1001);
И это работает всегда.WTF?