aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/slider/slider_events.js57
1 files changed, 56 insertions, 1 deletions
diff --git a/tests/unit/slider/slider_events.js b/tests/unit/slider/slider_events.js
index 22e908bdd..a3d6c5282 100644
--- a/tests/unit/slider/slider_events.js
+++ b/tests/unit/slider/slider_events.js
@@ -2,6 +2,8 @@
* slider_events.js
*/
(function($) {
+
+var el;
module( "slider: events" );
@@ -13,8 +15,61 @@ test( "slide", function() {
ok( false, "missing test - untested code is broken code." );
});
+//Specs from http://wiki.jqueryui.com/Slider#specs
+//"change callback: triggers when the slider has stopped moving and has a new
+// value (even if same as previous value), via mouse(mouseup) or keyboard(keyup)
+// or value method/option"
test( "change", function() {
- ok( false, "missing test - untested code is broken code." );
+ expect(4);
+
+ var handle;
+ // Test mouseup at end of handle slide (mouse)
+ el = $( "<div></div>" )
+ .appendTo( "body" )
+ .slider({
+ change: function(event, ui) {
+ ok( true, "change triggered by mouseup at end of handle slide (mouse)" );
+ }
+ });
+
+ el.find( ".ui-slider-handle" ).eq( 0 )
+ .simulate( "drag", { dx: 10, dy: 10 } );
+
+ reset();
+ // Test keyup at end of handle slide (keyboard)
+ el = $( "<div></div>" )
+ .appendTo( "body" )
+ .slider({
+ change: function(event, ui) {
+ ok( true, "change triggered by keyup at end of handle slide (keyboard)" );
+ }
+ });
+
+ el.find( ".ui-slider-handle" ).eq( 0 )
+ .simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } )
+ .simulate( "keypress", { keyCode: $.ui.keyCode.LEFT } )
+ .simulate( "keyup", { charCode: $.ui.keyCode.LEFT } );
+
+ reset();
+ // Test value method
+ el = $( "<div></div>" )
+ .slider({
+ change: function(event, ui) {
+ ok( true, "change triggered by value method" );
+ }
+ })
+ .slider( "value", 0 );
+
+ reset();
+ // Test value option
+ el = $( "<div></div>" )
+ .slider({
+ change: function(event, ui) {
+ ok( true, "change triggered by value option" );
+ }
+ })
+ .slider( "option", "value", 0 );
+
});
test( "stop", function() {