define( [ "jquery", "ui/widgets/tooltip" ], function( $ ) { module( "tooltip: options" ); test( "disabled: true", function() { expect( 1 ); $( "#tooltipped1" ).tooltip({ disabled: true }).tooltip( "open" ); equal( $( ".ui-tooltip" ).length, 0 ); }); test( "content: default", function() { expect( 1 ); var element = $( "#tooltipped1" ).tooltip().tooltip( "open" ); deepEqual( $( "#" + element.data( "ui-tooltip-id" ) ).text(), "anchortitle" ); }); test( "content: default; HTML escaping", function() { expect( 2 ); var scriptText = "", element = $( "#tooltipped1" ); $.ui.tooltip.hacked = false; element.attr( "title", scriptText ) .tooltip() .tooltip( "open" ); equal( $.ui.tooltip.hacked, false, "script did not execute" ); deepEqual( $( "#" + element.data( "ui-tooltip-id" ) ).text(), scriptText, "correct tooltip text" ); }); test( "content: return string", function() { expect( 1 ); var element = $( "#tooltipped1" ).tooltip({ content: function() { return "customstring"; } }).tooltip( "open" ); deepEqual( $( "#" + element.data( "ui-tooltip-id" ) ).text(), "customstring" ); }); test( "content: return jQuery", function() { expect( 2 ); var element = $( "#tooltipped1" ).tooltip({ content: function() { return $( "
this is a test of the emergency broadcast system.
", element = $( content )[ 0 ]; $( "#tooltipped1" ).tooltip({ content: element, open: function( event, ui ) { equal( ui.tooltip.children().html().toLowerCase(), content ); } }).tooltip( "open" ); }); test( "content: jQuery", function() { expect( 1 ); var content = "this is a test of the emergency broadcast system.
", element = $( content ); $( "#tooltipped1" ).tooltip({ content: element, open: function( event, ui ) { equal( ui.tooltip.children().html().toLowerCase(), content ); } }).tooltip( "open" ); }); test( "items", function() { expect( 2 ); var event, element = $( "#qunit-fixture" ).tooltip({ items: "#fixture-span" }); event = $.Event( "mouseenter" ); event.target = $( "#fixture-span" )[ 0 ]; element.tooltip( "open", event ); deepEqual( $( "#" + $( "#fixture-span" ).data( "ui-tooltip-id" ) ).text(), "title-text" ); // make sure default [title] doesn't get used event.target = $( "#tooltipped1" )[ 0 ]; element.tooltip( "open", event ); deepEqual( $( "#tooltipped1" ).data( "ui-tooltip-id" ), undefined ); element.tooltip( "destroy" ); }); test( "track + show delay", function() { expect( 2 ); var event, leftVal = 314, topVal = 159, offsetVal = 26, element = $( "#tooltipped1" ).tooltip({ track: true, show: { delay: 1 }, position: { my: "left+" + offsetVal + " top+" + offsetVal, at: "right bottom" } }); event = $.Event( "mouseover" ); event.target = $( "#tooltipped1" )[ 0 ]; event.originalEvent = { type: "mouseover" }; event.pageX = leftVal; event.pageY = topVal; element.trigger( event ); event = $.Event( "mousemove" ); event.target = $( "#tooltipped1" )[ 0 ]; event.originalEvent = { type: "mousemove" }; event.pageX = leftVal; event.pageY = topVal; element.trigger( event ); equal( $( ".ui-tooltip" ).css( "left" ), leftVal + offsetVal + "px" ); equal( $( ".ui-tooltip" ).css( "top" ), topVal + offsetVal + "px" ); }); test( "track and programmatic focus", function() { expect( 1 ); $( "#qunit-fixture div input" ).tooltip({ track: true }).trigger( "focus" ); equal( "inputtitle", $( ".ui-tooltip" ).text() ); }); } );