aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2012-12-27 17:05:25 +0100
committerJörn Zaefferer <joern.zaefferer@gmail.com>2012-12-27 17:06:01 +0100
commit0d53fbfd0b7651652601b3b8577225ab753aab44 (patch)
treedecc5a1a6519fd90372d311eda76dd6ddc21b502
parent1045d3a3522b06b617d912432b0da62138ea0fc3 (diff)
downloadjquery-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.js30
-rw-r--r--ui/jquery.ui.spinner.js10
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 ) {