summaryrefslogtreecommitdiff
path: root/tests/qunit/suites/resources/jquery/jquery.delayedBind.test.js
blob: 8688f12e0b74836582125f7ec4c18b2c45220ca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
test('jquery.delayedBind with data option', function() {
	var $fixture = $('<div>').appendTo('body'),
		data = { magic: "beeswax" },
		delay = 50;

	$fixture.delayedBind(delay, 'testevent', data, function(event) {
		start(); // continue!
		ok(true, 'testevent fired');
		ok(event.data === data, 'data is passed through delayedBind');
	});

	expect(2);
	stop(); // async!

	// We'll trigger it thrice, but it should only happen once.
	$fixture.trigger('testevent', {});
	$fixture.trigger('testevent', {});
	$fixture.trigger('testevent', {});
	$fixture.trigger('testevent', {});
});

test('jquery.delayedBind without data option', function() {
	var $fixture = $('<div>').appendTo('body'),
		data = { magic: "beeswax" },
		delay = 50;

	$fixture.delayedBind(delay, 'testevent', function(event) {
		start(); // continue!
		ok(true, 'testevent fired');
	});

	expect(1);
	stop(); // async!

	// We'll trigger it thrice, but it should only happen once.
	$fixture.trigger('testevent', {});
	$fixture.trigger('testevent', {});
	$fixture.trigger('testevent', {});
	$fixture.trigger('testevent', {});
});