kis-js/tests/tests/event.js

75 lines
1.6 KiB
JavaScript
Executable File

(function(){
"use strict";
module("events", {
setup: function() {
this.foo = $_.event.create('foo');
ok(this.foo, "Event foo created");
this.bar = $_.event.create('bar');
ok(this.bar, "Event bar created");
},
teardown: function() {
}
});
test("Events defined", function(){
expect(8);
ok($_.event.create, "Create Method Exists");
ok($_.event.add, "Add Method Exists");
ok($_.event.remove, "Remove Method Exists");
ok($_.event.live, "Live Method Exists");
ok($_.event.delegate, "Delegate Method Exists");
ok($_.event.trigger, "Trigger Method Exists");
});
asyncTest("Adding/Triggering Event Listener", function() {
expect(5);
var callback = function(e) {
ok(e, "Event was added");
ok(e, "Event was triggered");
start();
};
$_("#qunit").event.add('foo', callback);
var x = $_("#qunit").event.trigger(this.foo);
ok(x, "Event was not canceled");
});
asyncTest("Delegated Event", function() {
var callback = function(e) {
ok(e, "Delegated event was triggered");
start();
}
$_.event.delegate('.nephew', 'foo', callback);
var x = $_.event.trigger(this.foo);
ok(x, "Event was not canceled");
});
asyncTest("Live Event", function() {
var callback = function(e) {
ok(e, "Live event was triggered");
start();
}
$_.event.live('.child', 'foo', callback);
$_.event.trigger(this.foo);
});
asyncTest("Multiple Events", function() {
var callback = function(e) {
ok(e, "An event was triggered");
start();
}
$_("#qunit").event.add('foo bar', callback);
$_.event.trigger(this.bar);
});
}());