jasmine jquery event spies
buf fix code
When bind the same event in different dom element, toHaveBeenTriggeredOn method was not the behavior expected.
HTML
<link rel="stylesheet" href="https://raw.github.com/velesin/jasmine-jquery/master/vendor/jasmine/jasmine.css">
<script src="https://raw.github.com/velesin/jasmine-jquery/master/vendor/jasmine/jasmine.js"></script>
<script src="https://raw.github.com/velesin/jasmine-jquery/master/vendor/jasmine/jasmine-html.js"></script>
<script src="https://raw.github.com/yoshi6jp/jasmine-jquery/master/lib/jasmine-jquery.js"></script>
<script type="text/javascript">
(function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
execJasmine();
};
function execJasmine() {
jasmineEnv.execute();
}
})();
</script>
JavaScript
describe("toHaveBeenTriggered", function() {
beforeEach(function() {
setFixtures(
sandbox({
id: "some_element"
}), sandbox({
id: "other_element"
}));
});
describe("selector is jQuery object $('#some_elenet')", function() {
beforeEach(function() {
spyOnEvent($('#some_element'), 'click');
spyOnEvent($('#other_element'), 'click');
$('#some_element').click();
});
it("some_element was clicked.", function() {
expect("click").toHaveBeenTriggeredOn($("#some_element"));
});
it("other_element was not clicked.", function() {
expect("click").not.toHaveBeenTriggeredOn($("#other_element"));
});
});
describe("selector is string #some_elenet", function() {
beforeEach(function() {
spyOnEvent('#some_element', 'click');
spyOnEvent('#other_element', 'click');
$('#some_element').click();
});
it("some_element was clicked.", function() {
expect("click").toHaveBeenTriggeredOn("#some_element");
});
it("other_element was not clicked.", function() {
expect("click").not.toHaveBeenTriggeredOn("#other_element");
});
});
});