aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorFelix Nagel <info@felixnagel.com>2012-01-22 14:47:21 +0100
committerFelix Nagel <info@felixnagel.com>2012-01-22 14:47:21 +0100
commit21d96f12f802f13c4c159ab9b2e0a6df3771be42 (patch)
treec74f69270a62bc8a99e175bd3a94c7bc18433a48 /tests
parent725023e30db10cc0a3ec2b8b9fda0ec80a4ab496 (diff)
parent6800e1a2f97a7d8aaf20d065aa2ce517528e5068 (diff)
downloadjquery-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.js26
-rw-r--r--tests/unit/menu/menu_defaults.js3
-rw-r--r--tests/unit/tabs/tabs_events.js39
-rw-r--r--tests/unit/widget/widget_core.js15
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 = [];