From 91b7b9f9ab2e5baa31e37f34600457599409e161 Mon Sep 17 00:00:00 2001 From: TJ VanToll Date: Thu, 13 Jun 2013 13:47:07 -0700 Subject: Menu: Reset ui-menu-icons class in refresh. Fixes #9377: Menu: Refreshing should recheck for menu icons --- tests/unit/menu/menu_methods.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests') diff --git a/tests/unit/menu/menu_methods.js b/tests/unit/menu/menu_methods.js index c51d123c2..5d390c0d7 100644 --- a/tests/unit/menu/menu_methods.js +++ b/tests/unit/menu/menu_methods.js @@ -69,6 +69,19 @@ test( "refresh submenu", function() { equal( element.find( "ul:first .ui-menu-item" ).length, 4 ); }); +test( "refresh icons (see #9377)", function() { + expect( 3 ); + var element = $( "#menu1" ).menu(); + ok( !element.hasClass( "ui-menu-icons") ); + element.find( "li:first a" ).html( 'Save' ); + element.menu( "refresh" ); + + ok( element.hasClass( "ui-menu-icons" ) ); + element.find( "li:first a" ).html( "Save" ); + element.menu( "refresh" ); + ok( !element.hasClass( "ui-menu-icons") ); +}); + test( "widget", function() { expect( 2 ); var element = $( "#menu1" ).menu(), -- cgit v1.2.3 From bca3e058e89bf40806170149b8029dfe52644248 Mon Sep 17 00:00:00 2001 From: Steven Luscher Date: Thu, 2 May 2013 12:07:34 -0700 Subject: Clicking on a draggable anchor without moving it should make it the active element (Fixes #8399). --- tests/unit/draggable/draggable_core.js | 14 ++++++++++++++ ui/jquery.ui.draggable.js | 3 +++ 2 files changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/unit/draggable/draggable_core.js b/tests/unit/draggable/draggable_core.js index e2dc2a481..232ac6c17 100644 --- a/tests/unit/draggable/draggable_core.js +++ b/tests/unit/draggable/draggable_core.js @@ -185,4 +185,18 @@ test( "#5727: draggable from iframe" , function() { TestHelpers.draggable.shouldMove( draggable1 ); }); +test( "#8399: A draggable should become the active element after you are finished interacting with it, but not before.", function() { + expect( 2 ); + + var element = $( "link" ).appendTo( "#qunit-fixture" ).draggable(); + + $( document ).one( "mousemove", function() { + notStrictEqual( document.activeElement, element.get( 0 ), "moving a draggable anchor did not make it the active element" ); + }); + + TestHelpers.draggable.move( element, 50, 50 ); + + strictEqual( document.activeElement, element.get( 0 ), "finishing moving a draggable anchor made it the active element" ); +}); + })( jQuery ); diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index bf90d349b..9ee858725 100644 --- a/ui/jquery.ui.draggable.js +++ b/ui/jquery.ui.draggable.js @@ -263,6 +263,9 @@ $.widget("ui.draggable", $.ui.mouse, { $.ui.ddmanager.dragStop(this, event); } + // The interaction is over; whether or not the click resulted in a drag, focus the element + this.element.focus(); + return $.ui.mouse.prototype._mouseUp.call(this, event); }, -- cgit v1.2.3 From fcd1cafac8afe3a947676ec018e844eeada5b9de Mon Sep 17 00:00:00 2001 From: Steven Luscher Date: Wed, 1 May 2013 15:01:32 -0700 Subject: Draggable: active element blurs when clicking on a draggable. Fixes #4261 - Draggable: Inputs do not blur when clicking on a draggable --- tests/unit/datepicker/datepicker_test_helpers.js | 12 +----------- tests/unit/draggable/draggable_core.js | 16 ++++++++++++++++ tests/unit/testsuite.js | 12 ++++++++++++ ui/jquery.ui.draggable.js | 2 ++ 4 files changed, 31 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/unit/datepicker/datepicker_test_helpers.js b/tests/unit/datepicker/datepicker_test_helpers.js index 9cb63c9ec..34b41bbc6 100644 --- a/tests/unit/datepicker/datepicker_test_helpers.js +++ b/tests/unit/datepicker/datepicker_test_helpers.js @@ -22,16 +22,6 @@ TestHelpers.datepicker = { var id = $( "" ).appendTo( "#qunit-fixture" ); return TestHelpers.datepicker.init( id, options ); }, - onFocus: function( element, onFocus ) { - var fn = function( event ){ - if( !event.originalEvent ) { - return; - } - element.unbind( "focus", fn ); - onFocus(); - }; - - element.bind( "focus", fn )[ 0 ].focus(); - }, + onFocus: TestHelpers.onFocus, PROP_NAME: "datepicker" }; \ No newline at end of file diff --git a/tests/unit/draggable/draggable_core.js b/tests/unit/draggable/draggable_core.js index 232ac6c17..69906b6a7 100644 --- a/tests/unit/draggable/draggable_core.js +++ b/tests/unit/draggable/draggable_core.js @@ -199,4 +199,20 @@ test( "#8399: A draggable should become the active element after you are finishe strictEqual( document.activeElement, element.get( 0 ), "finishing moving a draggable anchor made it the active element" ); }); +asyncTest( "#4261: active element should blur when mousing down on a draggable", function() { + expect( 2 ); + + var textInput = $( "" ).appendTo( "#qunit-fixture" ), + element = $( "#draggable1" ).draggable(); + + TestHelpers.onFocus( textInput, function() { + strictEqual( document.activeElement, textInput.get( 0 ), "ensure that a focussed text input is the active element before mousing down on a draggable" ); + + TestHelpers.draggable.move( element, 50, 50 ); + + notStrictEqual( document.activeElement, textInput.get( 0 ), "ensure the text input is no longer the active element after mousing down on a draggable" ); + start(); + }); +}); + })( jQuery ); diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js index ddc59ed08..6e840f415 100644 --- a/tests/unit/testsuite.js +++ b/tests/unit/testsuite.js @@ -175,6 +175,18 @@ TestHelpers.commonWidgetTests = function( widget, settings ) { }); }; +TestHelpers.onFocus= function( element, onFocus ) { + var fn = function( event ){ + if( !event.originalEvent ) { + return; + } + element.unbind( "focus", fn ); + onFocus(); + }; + + element.bind( "focus", fn )[ 0 ].focus(); +}; + /* * Taken from https://github.com/jquery/qunit/tree/master/addons/close-enough */ diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index 9ee858725..ab1e800cd 100644 --- a/ui/jquery.ui.draggable.js +++ b/ui/jquery.ui.draggable.js @@ -78,6 +78,8 @@ $.widget("ui.draggable", $.ui.mouse, { var o = this.options; + $( document.activeElement ).blur(); + // among others, prevent a drag on a resizable-handle if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) { return false; -- cgit v1.2.3 From 628a1414853f52fa9e78b0e742b8c30068694ae9 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Thu, 20 Jun 2013 16:56:27 +0200 Subject: Menu tests: Fix lint error --- tests/unit/menu/menu_methods.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/menu/menu_methods.js b/tests/unit/menu/menu_methods.js index 5d390c0d7..063fbf0b7 100644 --- a/tests/unit/menu/menu_methods.js +++ b/tests/unit/menu/menu_methods.js @@ -73,7 +73,7 @@ test( "refresh icons (see #9377)", function() { expect( 3 ); var element = $( "#menu1" ).menu(); ok( !element.hasClass( "ui-menu-icons") ); - element.find( "li:first a" ).html( 'Save' ); + element.find( "li:first a" ).html( "Save" ); element.menu( "refresh" ); ok( element.hasClass( "ui-menu-icons" ) ); -- cgit v1.2.3 From 1f4f002cf7b4c3666e6e7e9f80414cf9b7b2c2b3 Mon Sep 17 00:00:00 2001 From: Rafael Xavier de Souza Date: Mon, 13 May 2013 15:27:40 -0300 Subject: Test: Update effects_core test, since puff-effect and size-effect now have its own files --- tests/unit/effects/effects.html | 2 ++ tests/unit/effects/effects_core.js | 5 +---- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/unit/effects/effects.html b/tests/unit/effects/effects.html index 4538ecb03..f35393b89 100644 --- a/tests/unit/effects/effects.html +++ b/tests/unit/effects/effects.html @@ -21,9 +21,11 @@ "ui/jquery.ui.effect-fade.js", "ui/jquery.ui.effect-fold.js", "ui/jquery.ui.effect-highlight.js", + "ui/jquery.ui.effect-puff.js", "ui/jquery.ui.effect-pulsate.js", "ui/jquery.ui.effect-scale.js", "ui/jquery.ui.effect-shake.js", + "ui/jquery.ui.effect-size.js", "ui/jquery.ui.effect-slide.js", "ui/jquery.ui.effect-transfer.js" ] diff --git a/tests/unit/effects/effects_core.js b/tests/unit/effects/effects_core.js index 11e9d0b45..05db494e6 100644 --- a/tests/unit/effects/effects_core.js +++ b/tests/unit/effects/effects_core.js @@ -217,10 +217,7 @@ asyncTest( "animateClass: css and class changes during animation are not lost (# $.each( $.effects.effect, function( effect ) { module( "effects." + effect ); - // puff and size are defined inside scale - if ( effect !== "puff" && effect !== "size" ) { - TestHelpers.testJshint( "effect-" + effect ); - } + TestHelpers.testJshint( "effect-" + effect ); if ( effect === "transfer" ) { return; -- cgit v1.2.3