diff options
author | Felix Nagel <info@felixnagel.com> | 2012-01-22 14:47:21 +0100 |
---|---|---|
committer | Felix Nagel <info@felixnagel.com> | 2012-01-22 14:47:21 +0100 |
commit | 21d96f12f802f13c4c159ab9b2e0a6df3771be42 (patch) | |
tree | c74f69270a62bc8a99e175bd3a94c7bc18433a48 /tests | |
parent | 725023e30db10cc0a3ec2b8b9fda0ec80a4ab496 (diff) | |
parent | 6800e1a2f97a7d8aaf20d065aa2ce517528e5068 (diff) | |
download | jquery-ui-21d96f12f802f13c4c159ab9b2e0a6df3771be42.tar.gz jquery-ui-21d96f12f802f13c4c159ab9b2e0a6df3771be42.zip |
Merge branch 'master' of github.com:jquery/jquery-ui into selectmenu
Diffstat (limited to 'tests')
-rw-r--r-- | tests/jquery.simulate.js | 26 | ||||
-rw-r--r-- | tests/unit/menu/menu_defaults.js | 3 | ||||
-rw-r--r-- | tests/unit/tabs/tabs_events.js | 39 | ||||
-rw-r--r-- | tests/unit/widget/widget_core.js | 15 |
4 files changed, 80 insertions, 3 deletions
diff --git a/tests/jquery.simulate.js b/tests/jquery.simulate.js index a37302c46..a8740e6b8 100644 --- a/tests/jquery.simulate.js +++ b/tests/jquery.simulate.js @@ -45,7 +45,7 @@ $.extend( $.simulate.prototype, { } }, mouseEvent: function( type, options ) { - var evt; + var evt, eventDoc, doc, body; var e = $.extend({ bubbles: true, cancelable: (type !== "mousemove"), @@ -71,6 +71,30 @@ $.extend( $.simulate.prototype, { e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget || document.body.parentNode ); + + // IE 9+ creates events with pageX and pageY set to 0. + // Trying to modify the properties throws an error, + // so we define getters to return the correct values. + if ( evt.pageX === 0 && evt.pageY === 0 && Object.defineProperty ) { + eventDoc = evt.relatedTarget.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + Object.defineProperty( evt, "pageX", { + get: function() { + return e.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + } + }); + Object.defineProperty( evt, "pageY", { + get: function() { + return e.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + }); + } } else if ( document.createEventObject ) { evt = document.createEventObject(); $.extend( evt, e ); diff --git a/tests/unit/menu/menu_defaults.js b/tests/unit/menu/menu_defaults.js index 3d7ec297f..bf41fb999 100644 --- a/tests/unit/menu/menu_defaults.js +++ b/tests/unit/menu/menu_defaults.js @@ -1,12 +1,11 @@ commonWidgetTests( "menu", { defaults: { disabled: false, + menus: "ul", position: { my: "left top", at: "right top" }, - menus: "ul", - trigger: null, // callbacks create: null diff --git a/tests/unit/tabs/tabs_events.js b/tests/unit/tabs/tabs_events.js index f5cde180b..333578907 100644 --- a/tests/unit/tabs/tabs_events.js +++ b/tests/unit/tabs/tabs_events.js @@ -2,6 +2,45 @@ module( "tabs: events" ); +test( "create", function() { + expect( 10 ); + + var element = $( "#tabs1" ), + tabs = element.find( "ul a" ), + panels = element.children( "div" ); + + element.tabs({ + create: function( event, ui ) { + equals( ui.tab.size(), 1, "tab size" ); + strictEqual( ui.tab[ 0 ], tabs[ 0 ], "tab" ); + equals( ui.panel.size(), 1, "panel size" ); + strictEqual( ui.panel[ 0 ], panels[ 0 ], "panel" ); + } + }); + element.tabs( "destroy" ); + + element.tabs({ + active: 2, + create: function( event, ui ) { + equals( ui.tab.size(), 1, "tab size" ); + strictEqual( ui.tab[ 0 ], tabs[ 2 ], "tab" ); + equals( ui.panel.size(), 1, "panel size" ); + strictEqual( ui.panel[ 0 ], panels[ 2 ], "panel" ); + } + }); + element.tabs( "destroy" ); + + element.tabs({ + active: false, + collapsible: true, + create: function( event, ui ) { + equals( ui.tab.size(), 0, "tab size" ); + equals( ui.panel.size(), 0, "panel size" ); + } + }); + element.tabs( "destroy" ); +}); + test( "beforeActivate", function() { expect( 38 ); diff --git a/tests/unit/widget/widget_core.js b/tests/unit/widget/widget_core.js index 2e55ad703..df83abe91 100644 --- a/tests/unit/widget/widget_core.js +++ b/tests/unit/widget/widget_core.js @@ -261,6 +261,21 @@ test( "._getCreateOptions()", function() { $( "<div>" ).testWidget({ option2: "value2" }); }); +test( "._getCreateEventData()", function() { + expect( 1 ); + var data = { foo: "bar" }; + $.widget( "ui.testWidget", { + _getCreateEventData: function() { + return data; + } + }); + $( "<div>" ).testWidget({ + create: function( event, ui ) { + strictEqual( ui, data, "event data" ); + } + }); +}); + test( "re-init", function() { var div = $( "<div>" ), actions = []; |