Nie wiem, jak uruchomić ten test Jasmine dla mojego JS i na pewno również inne osoby mają ten problem. Może robię źle, a może to niemożliwe - nie znalazłem żadnej wskazówki na ten temat. Problem polega na tym, że - w jQuery - $ (this) to nie to samo, co element wybrany np. Przez $ ("# To-id"):
Javascript:
[..]
$("#button-id").on("click", function(e) { callSomeFunctionWith($(this)); });
Jasmine-Test (coffeescript):
[..]
spyOn some.object, "callSomeFunctionWith"
spyOnEvent($("#button-id"), 'click')
$("#button-id").trigger("click")
expect(some.object.callSomeFunctionWith).toHaveBeenCalledWith($("#button-id"))
Niestety ten test nie powiedzie się (przy każdej zmianie jak przechowywanie wg w zmiennej najpierw w moim teście Jasmine), ponieważ funkcja NIE jest wywoływana za pomocą $ ("# button-id"), ale zamiast tego jest wywoływana za pomocą $ (this), i $ (this)! = $ ("# button- ID").
Czy ktoś może mi powiedzieć, jak wykonać ten test? Jestem zagubiony. Nawet Remy Sharp's great article on jQuery and $(this) nie dotarło już do mnie.