aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/tooltip/events.js
blob: 1e83c5255ba73cf24829fc3f2779aa12091afd01 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
define( [
	"qunit",
	"jquery",
	"./helper",
	"ui/widgets/tooltip"
], function( QUnit, $, testHelper ) {

var beforeAfterEach = testHelper.beforeAfterEach;

QUnit.module( "tooltip: events", beforeAfterEach() );

QUnit.test( "programmatic triggers", function( assert ) {
	assert.expect( 4 );
	var tooltip,
		element = $( "#tooltipped1" ).tooltip();

	element.one( "tooltipopen", function( event, ui ) {
		tooltip = ui.tooltip;
		assert.ok( !( "originalEvent" in event ), "open" );
		assert.strictEqual( ui.tooltip[ 0 ],
			$( "#" + element.data( "ui-tooltip-id" ) )[ 0 ], "ui.tooltip" );
	} );
	element.tooltip( "open" );

	element.one( "tooltipclose", function( event, ui ) {
		assert.ok( !( "originalEvent" in event ), "close" );
		assert.strictEqual( ui.tooltip[ 0 ], tooltip[ 0 ], "ui.tooltip" );
	} );
	element.tooltip( "close" );
} );

QUnit.test( "mouse events", function( assert ) {
	assert.expect( 2 );
	var element = $( "#tooltipped1" ).tooltip();

	element.on( "tooltipopen", function( event ) {
		assert.deepEqual( event.originalEvent.type, "mouseover" );
	} );
	element.trigger( "mouseover" );

	element.on( "tooltipclose", function( event ) {
		assert.deepEqual( event.originalEvent.type, "mouseleave" );
	} );
	element.trigger( "focusout" );
	element.trigger( "mouseleave" );
} );

QUnit.test( "focus events", function( assert ) {
	assert.expect( 2 );
	var element = $( "#tooltipped1" ).tooltip();

	element.on( "tooltipopen", function( event ) {
		assert.deepEqual( event.originalEvent.type, "focusin" );
	} );
	element.trigger( "focusin" );

	element.on( "tooltipclose", function( event ) {
		assert.deepEqual( event.originalEvent.type, "focusout" );
	} );
	element.trigger( "mouseleave" );
	element.trigger( "focusout" );
} );

} );