diff options
author | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2012-12-27 17:05:25 +0100 |
---|---|---|
committer | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2012-12-27 17:06:01 +0100 |
commit | 0d53fbfd0b7651652601b3b8577225ab753aab44 (patch) | |
tree | decc5a1a6519fd90372d311eda76dd6ddc21b502 | |
parent | 1045d3a3522b06b617d912432b0da62138ea0fc3 (diff) | |
download | jquery-ui-0d53fbfd0b7651652601b3b8577225ab753aab44.tar.gz jquery-ui-0d53fbfd0b7651652601b3b8577225ab753aab44.zip |
Spinner: Trigger start/spin/stop events when calling step/page methods. Fixes #8901 - Spinner does not fire start/spin/stop events when calling stepUp()/Down(), pageUp()/Down() methods
-rw-r--r-- | tests/unit/spinner/spinner_events.js | 30 | ||||
-rw-r--r-- | ui/jquery.ui.spinner.js | 10 |
2 files changed, 23 insertions, 17 deletions
diff --git a/tests/unit/spinner/spinner_events.js b/tests/unit/spinner/spinner_events.js index 1ee0d17a5..610f7a2ec 100644 --- a/tests/unit/spinner/spinner_events.js +++ b/tests/unit/spinner/spinner_events.js @@ -5,7 +5,7 @@ var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp; module( "spinner: events" ); test( "start", function() { - expect( 6 ); + expect( 10 ); var element = $( "#spin" ).spinner(); function shouldStart( expectation, msg ) { @@ -29,14 +29,14 @@ test( "start", function() { shouldStart( true, "button down" ); element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); - shouldStart( false, "stepUp" ); + shouldStart( true, "stepUp" ); element.spinner( "stepUp" ); - shouldStart( false, "stepDown" ); + shouldStart( true, "stepDown" ); element.spinner( "stepDown" ); - shouldStart( false, "pageUp" ); + shouldStart( true, "pageUp" ); element.spinner( "pageUp" ); - shouldStart( false, "pageDown" ); + shouldStart( true, "pageDown" ); element.spinner( "pageDown" ); shouldStart( false, "value" ); @@ -44,7 +44,7 @@ test( "start", function() { }); test( "spin", function() { - expect( 6 ); + expect( 10 ); var element = $( "#spin" ).spinner(); function shouldSpin( expectation, msg ) { @@ -68,14 +68,14 @@ test( "spin", function() { shouldSpin( true, "button down" ); element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); - shouldSpin( false, "stepUp" ); + shouldSpin( true, "stepUp" ); element.spinner( "stepUp" ); - shouldSpin( false, "stepDown" ); + shouldSpin( true, "stepDown" ); element.spinner( "stepDown" ); - shouldSpin( false, "pageUp" ); + shouldSpin( true, "pageUp" ); element.spinner( "pageUp" ); - shouldSpin( false, "pageDown" ); + shouldSpin( true, "pageDown" ); element.spinner( "pageDown" ); shouldSpin( false, "value" ); @@ -83,7 +83,7 @@ test( "spin", function() { }); test( "stop", function() { - expect( 6 ); + expect( 10 ); var element = $( "#spin" ).spinner(); function shouldStop( expectation, msg ) { @@ -107,14 +107,14 @@ test( "stop", function() { shouldStop( true, "button down" ); element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup(); - shouldStop( false, "stepUp" ); + shouldStop( true, "stepUp" ); element.spinner( "stepUp" ); - shouldStop( false, "stepDown" ); + shouldStop( true, "stepDown" ); element.spinner( "stepDown" ); - shouldStop( false, "pageUp" ); + shouldStop( true, "pageUp" ); element.spinner( "pageUp" ); - shouldStop( false, "pageDown" ); + shouldStop( true, "pageDown" ); element.spinner( "pageDown" ); shouldStop( false, "value" ); diff --git a/ui/jquery.ui.spinner.js b/ui/jquery.ui.spinner.js index aeffe0a3e..1881c99ed 100644 --- a/ui/jquery.ui.spinner.js +++ b/ui/jquery.ui.spinner.js @@ -453,14 +453,20 @@ $.widget( "ui.spinner", { this._stepUp( steps ); }), _stepUp: function( steps ) { - this._spin( (steps || 1) * this.options.step ); + if ( this._start() ) { + this._spin( (steps || 1) * this.options.step ); + this._stop(); + } }, stepDown: modifier(function( steps ) { this._stepDown( steps ); }), _stepDown: function( steps ) { - this._spin( (steps || 1) * -this.options.step ); + if ( this._start() ) { + this._spin( (steps || 1) * -this.options.step ); + this._stop(); + } }, pageUp: modifier(function( pages ) { |