Large diffs are not rendered by default.

@@ -19,6 +19,6 @@ common.testWidget( "progressbar", {
complete: null,
create: null
}
});
} );

} );
@@ -19,11 +19,11 @@ test( "markup structure", function( assert ) {
element.progressbar( "option", "value", 100 );
assert.hasClasses( value, "ui-progressbar-complete ui-widget-header ui-progressbar-value" );
equal( element.children().children().length, 0, "no overlay div" );
});
} );

test( "markup structure - indeterminate", function( assert ) {
expect( 5 );
var element = $( "#progressbar" ).progressbar({ value: false }),
var element = $( "#progressbar" ).progressbar( { value: false } ),
children = element.children();

assert.hasClasses( element, "ui-progressbar ui-progressbar-indeterminate ui-widget ui-widget-content" );
@@ -32,7 +32,7 @@ test( "markup structure - indeterminate", function( assert ) {
assert.hasClasses( children[ 0 ], "ui-progressbar-value" );
equal( children.children( ".ui-progressbar-overlay" ).length, 1,
"Value has class ui-progressbar-overlay" );
});
} );

test( "accessibility", function() {
expect( 11 );
@@ -59,6 +59,6 @@ test( "accessibility", function() {
equal( element.attr( "aria-valuemin" ), 0, "aria-valuemin" );
equal( element.attr( "aria-valuemax" ), 150, "aria-valuemax" );
equal( element.attr( "aria-valuenow" ), null, "aria-valuenow" );
});
} );

} );
@@ -7,36 +7,36 @@ module( "progressbar: events" );

test( "create", function() {
expect( 1 );
$( "#progressbar" ).progressbar({
$( "#progressbar" ).progressbar( {
value: 5,
create: function() {
equal( $( this ).progressbar( "value" ), 5, "Correct value at create" );
},
change: function() {
ok( false, "create has triggered change()" );
}
});
});
} );
} );

test( "change", function() {
expect( 2 );
var element = $( "#progressbar" ).progressbar();

element.one( "progressbarchange", function() {
equal( element.progressbar( "value" ), 5, "change triggered for middle value" );
});
} );
element.progressbar( "value", 5 );
element.one( "progressbarchange", function() {
equal( element.progressbar( "value" ), 100, "change triggered for final value" );
});
} );
element.progressbar( "value", 100 );
});
} );

test( "complete", function() {
expect( 5 );
var value,
changes = 0,
element = $( "#progressbar" ).progressbar({
element = $( "#progressbar" ).progressbar( {
change: function() {
changes++;
equal( element.progressbar( "value" ), value, "change at " + value );
@@ -45,14 +45,14 @@ test( "complete", function() {
equal( changes, 3, "complete triggered after change and not on indeterminate" );
equal( element.progressbar( "value" ), 100, "value is 100" );
}
});
} );

value = 5;
element.progressbar( "value", value );
value = false;
element.progressbar( "value", value );
value = 100;
element.progressbar( "value", value );
});
} );

} );
@@ -9,8 +9,8 @@ test( "destroy", function( assert ) {
expect( 1 );
assert.domEqual( "#progressbar", function() {
$( "#progressbar" ).progressbar().progressbar( "destroy" );
});
});
} );
} );

test( "disable", function( assert ) {
expect( 3 );
@@ -20,23 +20,23 @@ test( "disable", function( assert ) {
assert.hasClasses( element.progressbar( "widget" ), "ui-state-disabled" );
ok( element.progressbar( "widget" ).attr( "aria-disabled" ), "element gets aria-disabled" );
assert.hasClasses( element.progressbar( "widget" ), "ui-progressbar-disabled" );
});
} );

test( "value", function() {
expect( 3 );

var element = $( "<div>" ).progressbar({ value: 20 });
var element = $( "<div>" ).progressbar( { value: 20 } );
equal( element.progressbar( "value" ), 20, "correct value as getter" );
strictEqual( element.progressbar( "value", 30 ), element, "chainable as setter" );
equal( element.progressbar( "option", "value" ), 30, "correct value after setter" );
});
} );

test( "widget", function() {
expect( 2 );
var element = $( "#progressbar" ).progressbar(),
widgetElement = element.progressbar( "widget" );
equal( widgetElement.length, 1, "one element" );
strictEqual( widgetElement[ 0 ], element[ 0 ], "same element" );
});
} );

} );
@@ -9,14 +9,14 @@ test( "{ value: 0 }, default", function() {
expect( 1 );
$( "#progressbar" ).progressbar();
equal( $( "#progressbar" ).progressbar( "value" ), 0 );
});
} );

// Ticket #7231 - valueDiv should be hidden when value is at 0%
test( "value: visibility of valueDiv", function() {
expect( 4 );
var element = $( "#progressbar" ).progressbar({
var element = $( "#progressbar" ).progressbar( {
value: 0
});
} );
ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ),
"valueDiv hidden when value is initialized at 0" );
element.progressbar( "value", 1 );
@@ -28,52 +28,52 @@ test( "value: visibility of valueDiv", function() {
element.progressbar( "value", 0 );
ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ),
"valueDiv hidden when value is set to 0" );
});
} );

test( "{ value: 5 }", function() {
expect( 1 );
$( "#progressbar" ).progressbar({
$( "#progressbar" ).progressbar( {
value: 5
});
} );
equal( $( "#progressbar" ).progressbar( "value" ), 5 );
});
} );

test( "{ value: -5 }", function() {
expect( 1 );
$( "#progressbar" ).progressbar({
$( "#progressbar" ).progressbar( {
value: -5
});
} );
equal( $( "#progressbar" ).progressbar( "value" ), 0,
"value constrained at min" );
});
} );

test( "{ value: 105 }", function() {
expect( 1 );
$( "#progressbar" ).progressbar({
$( "#progressbar" ).progressbar( {
value: 105
});
} );
equal( $( "#progressbar" ).progressbar( "value" ), 100,
"value constrained at max" );
});
} );

test( "{ value: 10, max: 5 }", function() {
expect( 1 );
$("#progressbar").progressbar({
$( "#progressbar" ).progressbar( {
max: 5,
value: 10
});
} );
equal( $( "#progressbar" ).progressbar( "value" ), 5,
"value constrained at max" );
});
} );

test( "change max below value", function() {
expect( 1 );
$("#progressbar").progressbar({
$( "#progressbar" ).progressbar( {
max: 10,
value: 10
}).progressbar( "option", "max", 5 );
} ).progressbar( "option", "max", 5 );
equal( $( "#progressbar" ).progressbar( "value" ), 5,
"value constrained at max" );
});
} );

} );
@@ -35,6 +35,6 @@ common.testWidget( "resizable", {
start: null,
stop: null
}
});
} );

} );
@@ -4,7 +4,7 @@ define( [
"ui/widgets/resizable"
], function( $, testHelper ) {

module("resizable: core");
module( "resizable: core" );

/*
test("element types", function() {
@@ -25,188 +25,188 @@ test("element types", function() {
});
*/

test("n", function() {
expect(4);
test( "n", function() {
expect( 4 );

var handle = ".ui-resizable-n", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-n", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, 0, -50);
testHelper.drag( handle, 0, -50 );
equal( target.height(), 150, "compare height" );

testHelper.drag(handle, 0, 50);
testHelper.drag( handle, 0, 50 );
equal( target.height(), 100, "compare height" );

equal( target[0].style.left, "", "left should not be modified" );
equal( target[0].style.width, "", "width should not be modified" );
});
equal( target[ 0 ].style.left, "", "left should not be modified" );
equal( target[ 0 ].style.width, "", "width should not be modified" );
} );

test("s", function() {
expect(5);
test( "s", function() {
expect( 5 );

var handle = ".ui-resizable-s", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-s", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, 0, 50);
testHelper.drag( handle, 0, 50 );
equal( target.height(), 150, "compare height" );

testHelper.drag(handle, 0, -50);
testHelper.drag( handle, 0, -50 );
equal( target.height(), 100, "compare height" );

equal( target[0].style.top, "", "top should not be modified" );
equal( target[0].style.left, "", "left should not be modified" );
equal( target[0].style.width, "", "width should not be modified" );
});
equal( target[ 0 ].style.top, "", "top should not be modified" );
equal( target[ 0 ].style.left, "", "left should not be modified" );
equal( target[ 0 ].style.width, "", "width should not be modified" );
} );

test("e", function() {
expect(5);
test( "e", function() {
expect( 5 );

var handle = ".ui-resizable-e", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-e", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, 50);
equal( target.width(), 150, "compare width");
testHelper.drag( handle, 50 );
equal( target.width(), 150, "compare width" );

testHelper.drag(handle, -50);
testHelper.drag( handle, -50 );
equal( target.width(), 100, "compare width" );

equal( target[0].style.height, "", "height should not be modified" );
equal( target[0].style.top, "", "top should not be modified" );
equal( target[0].style.left, "", "left should not be modified" );
});
equal( target[ 0 ].style.height, "", "height should not be modified" );
equal( target[ 0 ].style.top, "", "top should not be modified" );
equal( target[ 0 ].style.left, "", "left should not be modified" );
} );

test("w", function() {
expect(4);
test( "w", function() {
expect( 4 );

var handle = ".ui-resizable-w", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-w", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, -50);
testHelper.drag( handle, -50 );
equal( target.width(), 150, "compare width" );

testHelper.drag(handle, 50);
testHelper.drag( handle, 50 );
equal( target.width(), 100, "compare width" );

equal( target[0].style.height, "", "height should not be modified" );
equal( target[0].style.top, "", "top should not be modified" );
});
equal( target[ 0 ].style.height, "", "height should not be modified" );
equal( target[ 0 ].style.top, "", "top should not be modified" );
} );

test("ne", function() {
expect(5);
test( "ne", function() {
expect( 5 );

var handle = ".ui-resizable-ne", target = $("#resizable1").css({ overflow: "hidden" }).resizable({ handles: "all" });
var handle = ".ui-resizable-ne", target = $( "#resizable1" ).css( { overflow: "hidden" } ).resizable( { handles: "all" } );

testHelper.drag(handle, -50, -50);
testHelper.drag( handle, -50, -50 );
equal( target.width(), 50, "compare width" );
equal( target.height(), 150, "compare height" );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );
equal( target.width(), 100, "compare width" );
equal( target.height(), 100, "compare height" );

equal( target[0].style.left, "", "left should not be modified" );
});
equal( target[ 0 ].style.left, "", "left should not be modified" );
} );

test("se", function() {
expect(6);
test( "se", function() {
expect( 6 );

var handle = ".ui-resizable-se", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-se", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );
equal( target.width(), 150, "compare width" );
equal( target.height(), 150, "compare height" );

testHelper.drag(handle, -50, -50);
testHelper.drag( handle, -50, -50 );
equal( target.width(), 100, "compare width" );
equal( target.height(), 100, "compare height" );

equal( target[0].style.top, "", "top should not be modified" );
equal( target[0].style.left, "", "left should not be modified" );
});
equal( target[ 0 ].style.top, "", "top should not be modified" );
equal( target[ 0 ].style.left, "", "left should not be modified" );
} );

test("sw", function() {
expect(5);
test( "sw", function() {
expect( 5 );

var handle = ".ui-resizable-sw", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-sw", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, -50, -50);
testHelper.drag( handle, -50, -50 );
equal( target.width(), 150, "compare width" );
equal( target.height(), 50, "compare height" );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );
equal( target.width(), 100, "compare width" );
equal( target.height(), 100, "compare height" );

equal( target[0].style.top, "", "top should not be modified" );
});
equal( target[ 0 ].style.top, "", "top should not be modified" );
} );

test("nw", function() {
expect(4);
test( "nw", function() {
expect( 4 );

var handle = ".ui-resizable-nw", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-nw", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, -50, -50);
testHelper.drag( handle, -50, -50 );
equal( target.width(), 150, "compare width" );
equal( target.height(), 150, "compare height" );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );
equal( target.width(), 100, "compare width" );
equal( target.height(), 100, "compare height" );
});
} );

test("handle with complex markup (#8756)", function() {
expect(2);
test( "handle with complex markup (#8756)", function() {
expect( 2 );

$("#resizable1")
$( "#resizable1" )
.append(
$("<div>")
.addClass("ui-resizable-handle")
.addClass("ui-resizable-w")
.append($("<div>"))
$( "<div>" )
.addClass( "ui-resizable-handle" )
.addClass( "ui-resizable-w" )
.append( $( "<div>" ) )
);

var handle = ".ui-resizable-w div", target = $("#resizable1").resizable({ handles: "all" });
var handle = ".ui-resizable-w div", target = $( "#resizable1" ).resizable( { handles: "all" } );

testHelper.drag(handle, -50);
testHelper.drag( handle, -50 );
equal( target.width(), 150, "compare width" );

testHelper.drag(handle, 50);
testHelper.drag( handle, 50 );
equal( target.width(), 100, "compare width" );
});
} );

test("resizable accounts for scroll position correctly (#3815)", function() {
test( "resizable accounts for scroll position correctly (#3815)", function() {
expect( 4 );

var position, top, left,
container = $("<div style='overflow:scroll;height:300px;width:300px;position:relative;'></div>").appendTo("#qunit-fixture"),
overflowed = $("<div style='width: 1000px; height: 1000px;'></div>").appendTo( container ),
el = $("<div style='height:100px;width:100px;position:absolute;top:10px;left:10px;'></div>").appendTo( overflowed ).resizable({ handles: "all" }),
container = $( "<div style='overflow:scroll;height:300px;width:300px;position:relative;'></div>" ).appendTo( "#qunit-fixture" ),
overflowed = $( "<div style='width: 1000px; height: 1000px;'></div>" ).appendTo( container ),
el = $( "<div style='height:100px;width:100px;position:absolute;top:10px;left:10px;'></div>" ).appendTo( overflowed ).resizable( { handles: "all" } ),
handle = ".ui-resizable-e",
handlePosition = $(handle).position().left;
handlePosition = $( handle ).position().left;

container.scrollLeft( 100 ).scrollTop( 100 );

position = el.position();
left = el.css("left");
top = el.css("top");
left = el.css( "left" );
top = el.css( "top" );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );
deepEqual( el.position(), position, "position stays the same when resized" );
equal( el.css("left"), left, "css('left') stays the same when resized" );
equal( el.css("top"), top, "css('top') stays the same when resized" );
equal( $(handle).position().left, handlePosition + 50, "handle also moved" );
});
equal( el.css( "left" ), left, "css('left') stays the same when resized" );
equal( el.css( "top" ), top, "css('top') stays the same when resized" );
equal( $( handle ).position().left, handlePosition + 50, "handle also moved" );
} );

test( "resizable stores correct size when using helper and grid (#9547)", function() {
expect( 2 );

var handle = ".ui-resizable-se",
target = $( "#resizable1" ).resizable({
target = $( "#resizable1" ).resizable( {
handles: "all",
helper: "ui-resizable-helper",
grid: [ 10, 10 ]
});
} );

testHelper.drag( handle, 1, 1 );
equal( target.width(), 100, "compare width" );
equal( target.height(), 100, "compare height" );
});
} );

test( "nested resizable", function() {
expect( 4 );
@@ -220,9 +220,9 @@ test( "nested resizable", function() {
outer.appendTo( target );
inner.appendTo( outer );

inner.resizable( { handles : "e" } );
outer.resizable( { handles : "e" } );
target.resizable( { handles : "e" } );
inner.resizable( { handles: "e" } );
outer.resizable( { handles: "e" } );
target.resizable( { handles: "e" } );

innerHandle = $( "#inner > .ui-resizable-e" );
outerHandle = $( "#outer > .ui-resizable-e" );
@@ -239,6 +239,6 @@ test( "nested resizable", function() {

inner.remove();
outer.remove();
});
} );

} );
@@ -4,31 +4,31 @@ define( [
"ui/widgets/resizable"
], function( $, testHelper ) {

module("resizable: events");
module( "resizable: events" );

test("start", function() {
test( "start", function() {

expect(5);
expect( 5 );

var count = 0,
handle = ".ui-resizable-se";

$("#resizable1").resizable({
$( "#resizable1" ).resizable( {
handles: "all",
start: function(event, ui) {
start: function( event, ui ) {
equal( ui.size.width, 100, "compare width" );
equal( ui.size.height, 100, "compare height" );
equal( ui.originalSize.width, 100, "compare original width" );
equal( ui.originalSize.height, 100, "compare original height" );
count++;
}
});
} );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );

equal(count, 1, "start callback should happen exactly once");
equal( count, 1, "start callback should happen exactly once" );

});
} );

test( "resize", function() {

@@ -37,7 +37,7 @@ test( "resize", function() {
var count = 0,
handle = ".ui-resizable-se";

$("#resizable1").resizable({
$( "#resizable1" ).resizable( {
handles: "all",
resize: function( event, ui ) {
if ( count === 0 ) {
@@ -53,13 +53,13 @@ test( "resize", function() {
}
count++;
}
});
} );

testHelper.drag( handle, 50, 50 );

equal( count, 2, "resize callback should happen exactly once per size adjustment" );

});
} );

test( "resize (min/max dimensions)", function() {

@@ -68,7 +68,7 @@ test( "resize (min/max dimensions)", function() {
var count = 0,
handle = ".ui-resizable-se";

$("#resizable1").resizable({
$( "#resizable1" ).resizable( {
handles: "all",
minWidth: 60,
minHeight: 60,
@@ -81,26 +81,26 @@ test( "resize (min/max dimensions)", function() {
equal( ui.originalSize.height, 100, "compare original height" );
count++;
}
});
} );

testHelper.drag( handle, -200, -200 );

equal( count, 1, "resize callback should happen exactly once per size adjustment" );

});
} );

test( "resize (containment)", function() {

expect( 5 );

var count = 0,
handle = ".ui-resizable-se",
container = $("#resizable1").wrap("<div>").parent().css({
container = $( "#resizable1" ).wrap( "<div>" ).parent().css( {
height: "100px",
width: "100px"
});
} );

$("#resizable1").resizable({
$( "#resizable1" ).resizable( {
handles: "all",
containment: container,
resize: function( event, ui ) {
@@ -110,7 +110,7 @@ test( "resize (containment)", function() {
equal( ui.originalSize.height, 100, "compare original height" );
count++;
}
});
} );

// Prove you can't resize outside containment by dragging southeast corner southeast
testHelper.drag( handle, 100, 100 );
@@ -120,77 +120,77 @@ test( "resize (containment)", function() {

equal( count, 1, "resize callback should happen exactly once per size adjustment" );

});
} );

test("resize (grid)", function() {
test( "resize (grid)", function() {

expect(5);
expect( 5 );

var count = 0,
handle = ".ui-resizable-se";

$("#resizable1").resizable({
$( "#resizable1" ).resizable( {
handles: "all",
grid: 50,
resize: function(event, ui) {
resize: function( event, ui ) {
equal( ui.size.width, 150, "compare width" );
equal( ui.size.height, 150, "compare height" );
equal( ui.originalSize.width, 100, "compare original width" );
equal( ui.originalSize.height, 100, "compare original height" );
count++;
}
});
} );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );

equal(count, 1, "resize callback should happen exactly once per grid-unit size adjustment");
equal( count, 1, "resize callback should happen exactly once per grid-unit size adjustment" );

});
} );

test( "resize, custom adjustment", function() {
expect( 4 );

var handle = ".ui-resizable-se",
element = $( "#resizable1" ).resizable({
element = $( "#resizable1" ).resizable( {
resize: function( event, ui ) {
ui.size.width = 100;
ui.size.height = 200;
ui.position.left = 300;
ui.position.top = 400;
}
});
} );

testHelper.drag( handle, 50, 50 );

equal( element.width(), 100, "resize event can control width" );
equal( element.height(), 200, "resize event can control height" );
equal( element.position().left, 300, "resize event can control left" );
equal( element.position().top, 400, "resize event can control top" );
});
} );

test("stop", function() {
test( "stop", function() {

expect(5);
expect( 5 );

var count = 0,
handle = ".ui-resizable-se";

$("#resizable1").resizable({
$( "#resizable1" ).resizable( {
handles: "all",
stop: function(event, ui) {
stop: function( event, ui ) {
equal( ui.size.width, 150, "compare width" );
equal( ui.size.height, 150, "compare height" );
equal( ui.originalSize.width, 100, "compare original width" );
equal( ui.originalSize.height, 100, "compare original height" );
count++;
}
});
} );

testHelper.drag(handle, 50, 50);
testHelper.drag( handle, 50, 50 );

equal(count, 1, "stop callback should happen exactly once");
equal( count, 1, "stop callback should happen exactly once" );

});
} );

test( "resize (containment) works with parent with negative offset", function() {

@@ -204,30 +204,30 @@ test( "resize (containment) works with parent with negative offset", function()
increaseWidthBy = 50;

// Position fixed container in window top left
fixedContainer.css({
fixedContainer.css( {
width: 400,
height: 100,
position: "fixed",
top: 0,
left: 0
});
} );

// Position absolute container within fixed on slightly outside window
absoluteContainer.css({
absoluteContainer.css( {
width: 400,
height: 100,
position: "absolute",
top: 0,
left: -50
});
} );

// Set up resizable to be contained within absolute container
target.resizable({
target.resizable( {
handles: "all",
containment: "parent"
}).css({
} ).css( {
width: 300
});
} );

widthBefore = target.width();

@@ -237,6 +237,6 @@ test( "resize (containment) works with parent with negative offset", function()

equal( widthAfter, ( widthBefore + increaseWidthBy ), "resizable width should be increased by the value dragged" );

});
} );

} );
@@ -5,13 +5,14 @@ define( [

return $.extend( helper, {
drag: function( el, dx, dy ) {

// this mouseover is to work around a limitation in resizable
// TODO: fix resizable so handle doesn't require mouseover in order to be used
$( el ).simulate("mouseover").simulate( "drag", {
$( el ).simulate( "mouseover" ).simulate( "drag", {
moves: 2,
dx: dx,
dy: dy
});
} );
}
} );

@@ -8,14 +8,14 @@ module( "resizable: methods" );
test( "disable", function( assert ) {
expect( 5 );

var element = $( "#resizable1" ).resizable({ disabled: false }),
var element = $( "#resizable1" ).resizable( { disabled: false } ),
chainable = element.resizable( "disable" );

assert.lacksClasses( element.resizable( "widget" ), "ui-state-disabled" );
ok( !element.resizable( "widget" ).attr( "aria-disabled" ), "element does not get aria-disabled" );
assert.hasClasses( element.resizable( "widget" ), "ui-resizable-disabled" );
equal( element.resizable( "option", "disabled" ), true, "disabled option setter" );
equal( chainable, element, "disable is chainable" );
});
} );

} );

Large diffs are not rendered by default.

@@ -24,6 +24,6 @@ common.testWidget( "selectable", {
unselected: null,
unselecting: null
}
});
} );

} );
@@ -4,37 +4,37 @@ define( [
"ui/widgets/selectable"
], function( $, testHelpers ) {

module("selectable: events");
module( "selectable: events" );

test( "start", function() {
expect( 2 );
var el = $("#selectable1");
el.selectable({
var el = $( "#selectable1" );
el.selectable( {
start: function() {
ok( true, "drag fired start callback" );
equal( this, el[0], "context of callback" );
equal( this, el[ 0 ], "context of callback" );
}
});
} );
el.simulate( "drag", {
dx: 20,
dy: 20
});
});
} );
} );

test( "stop", function() {
expect( 2 );
var el = $("#selectable1");
el.selectable({
var el = $( "#selectable1" );
el.selectable( {
start: function() {
ok( true, "drag fired stop callback" );
equal( this, el[0], "context of callback" );
equal( this, el[ 0 ], "context of callback" );
}
});
} );
el.simulate( "drag", {
dx: 20,
dy: 20
});
});
} );
} );

test( "mousedown: initial position of helper", function() {
expect( 2 );
@@ -48,7 +48,7 @@ test( "mousedown: initial position of helper", function() {
element.simulate( "mousedown", {
clientX: 10,
clientY: 10
});
} );

helperOffset = $( ".ui-selectable-helper" ).offset();
ok( helperOffset.top, 110, "Scroll top should be accounted for." );
@@ -58,6 +58,6 @@ test( "mousedown: initial position of helper", function() {
element.simulate( "mouseup" );
contentToForceScroll.remove();
$( window ).scrollTop( 0 ).scrollLeft( 0 );
});
} );

} );
@@ -3,90 +3,90 @@ define( [
"ui/widgets/selectable"
], function( $ ) {

module("selectable: methods");
module( "selectable: methods" );

test("init", function() {
test( "init", function() {
expect( 5 );

$("<div></div>").appendTo("body").selectable().remove();
ok(true, ".selectable() called on element");
$( "<div></div>" ).appendTo( "body" ).selectable().remove();
ok( true, ".selectable() called on element" );

$([]).selectable().remove();
ok(true, ".selectable() called on empty collection");
$( [] ).selectable().remove();
ok( true, ".selectable() called on empty collection" );

$("<div></div>").selectable().remove();
ok(true, ".selectable() called on disconnected DOMElement");
$( "<div></div>" ).selectable().remove();
ok( true, ".selectable() called on disconnected DOMElement" );

var el = $("<div></div>").selectable();
el.selectable("option", "foo");
var el = $( "<div></div>" ).selectable();
el.selectable( "option", "foo" );
el.remove();
ok(true, "arbitrary option getter after init");
ok( true, "arbitrary option getter after init" );

$("<div></div>").selectable().selectable("option", "foo", "bar").remove();
ok(true, "arbitrary option setter after init");
});
$( "<div></div>" ).selectable().selectable( "option", "foo", "bar" ).remove();
ok( true, "arbitrary option setter after init" );
} );

test("destroy", function() {
test( "destroy", function() {
expect( 4 );

$("<div></div>").appendTo("body").selectable().selectable("destroy").remove();
ok(true, ".selectable('destroy') called on element");
$( "<div></div>" ).appendTo( "body" ).selectable().selectable( "destroy" ).remove();
ok( true, ".selectable('destroy') called on element" );

$([]).selectable().selectable("destroy").remove();
ok(true, ".selectable('destroy') called on empty collection");
$( [] ).selectable().selectable( "destroy" ).remove();
ok( true, ".selectable('destroy') called on empty collection" );

$("<div></div>").selectable().selectable("destroy").remove();
ok(true, ".selectable('destroy') called on disconnected DOMElement");
$( "<div></div>" ).selectable().selectable( "destroy" ).remove();
ok( true, ".selectable('destroy') called on disconnected DOMElement" );

var expected = $("<div></div>").selectable(),
actual = expected.selectable("destroy");
equal(actual, expected, "destroy is chainable");
});
var expected = $( "<div></div>" ).selectable(),
actual = expected.selectable( "destroy" );
equal( actual, expected, "destroy is chainable" );
} );

test("enable", function() {
expect(3);
test( "enable", function() {
expect( 3 );
var expected, actual,
fired = false,
el = $("#selectable1");
el = $( "#selectable1" );

el.selectable({
el.selectable( {
disabled: true,
start: function() { fired = true; }
});
} );
el.simulate( "drag", {
dx: 20,
dy: 20
});
equal(fired, false, "start fired");
el.selectable("enable");
} );
equal( fired, false, "start fired" );
el.selectable( "enable" );
el.simulate( "drag", {
dx: 20,
dy: 20
});
equal(fired, true, "start fired");
el.selectable("destroy");
} );
equal( fired, true, "start fired" );
el.selectable( "destroy" );

expected = $("<div></div>").selectable();
actual = expected.selectable("enable");
equal(actual, expected, "enable is chainable");
});
expected = $( "<div></div>" ).selectable();
actual = expected.selectable( "enable" );
equal( actual, expected, "enable is chainable" );
} );

test( "disable", function( assert ) {
expect( 6 );
var chainable,
fired = false,
element = $( "#selectable1" );

element.selectable({
element.selectable( {
disabled: false,
start: function() {
fired = true;
}
});
} );
element.simulate( "drag", {
dx: 20,
dy: 20
});
} );
equal( fired, true, "start fired" );

chainable = element.selectable( "disable" );
@@ -95,7 +95,7 @@ test( "disable", function( assert ) {
element.simulate( "drag", {
dx: 20,
dy: 20
});
} );
equal( fired, false, "start fired" );

assert.lacksClasses( element.selectable( "widget" ), "ui-state-disabled" );
@@ -106,6 +106,6 @@ test( "disable", function( assert ) {
element.selectable( "destroy" );

equal( chainable, element, "disable is chainable" );
});
} );

} );
@@ -3,62 +3,62 @@ define( [
"ui/widgets/selectable"
], function( $ ) {

module("selectable: options");
module( "selectable: options" );

test("autoRefresh", function() {
expect(3);
test( "autoRefresh", function() {
expect( 3 );

var actual = 0,
el = $("#selectable1"),
sel = $("*", el),
el = $( "#selectable1" ),
sel = $( "*", el ),
selected = function() { actual += 1; };

el = $("#selectable1").selectable({ autoRefresh: false, selected: selected });
el = $( "#selectable1" ).selectable( { autoRefresh: false, selected: selected } );
sel.hide();
el.simulate( "drag", {
dx: 1000,
dy: 1000
});
equal(actual, sel.length);
el.selectable("destroy");
} );
equal( actual, sel.length );
el.selectable( "destroy" );

actual = 0;
sel.show();
el = $("#selectable1").selectable({ autoRefresh: true, selected: selected });
el = $( "#selectable1" ).selectable( { autoRefresh: true, selected: selected } );
sel.hide();
el.simulate( "drag", {
dx: 1000,
dy: 1000
});
equal(actual, 0);
} );
equal( actual, 0 );

sel.show();
$( sel[ 0 ] ).simulate( "drag", {
dx: 1000,
dy: 1000
});
equal(actual, sel.length);
} );
equal( actual, sel.length );

el.selectable("destroy");
el.selectable( "destroy" );
sel.show();
});
} );

test("filter", function() {
expect(2);
test( "filter", function() {
expect( 2 );

var actual =0,
el = $("#selectable1"),
sel = $("*", el),
var actual = 0,
el = $( "#selectable1" ),
sel = $( "*", el ),
selected = function() { actual += 1; };

el = $("#selectable1").selectable({ filter: ".special", selected: selected });
el = $( "#selectable1" ).selectable( { filter: ".special", selected: selected } );
el.simulate( "drag", {
dx: 1000,
dy: 1000
});
ok(sel.length !== 1, "this test assumes more than 1 selectee");
equal(actual, 1);
el.selectable("destroy");
});
} );
ok( sel.length !== 1, "this test assumes more than 1 selectee" );
equal( actual, 1 );
el.selectable( "destroy" );
} );

} );
@@ -29,6 +29,6 @@ common.testWidget( "selectmenu", {
open: null,
select: null
}
});
} );

} );
@@ -18,15 +18,15 @@ test( "markup structure", function( assert ) {
assert.lacksClasses( button, "ui-selectmenu-button-open" );
assert.hasClasses( menuWrap, "ui-selectmenu-menu" );
assert.lacksClasses( menuWrap, "ui-selectmenu-menu-open" );
});
} );

asyncTest( "accessibility", function() {
var wrappers, button, menu,
element = $( "#speed" ).attr( "title", "A demo title" );

element.find( "option" ).each(function( index ) {
element.find( "option" ).each( function( index ) {
$( this ).attr( "title", "A demo title #" + index );
});
} );

element.selectmenu();
button = element.selectmenu( "widget" );
@@ -37,7 +37,7 @@ asyncTest( "accessibility", function() {

expect( 13 + wrappers.length * 3 );

setTimeout(function() {
setTimeout( function() {
equal( button.attr( "role" ), "combobox", "button role" );
equal( button.attr( "aria-haspopup" ), "true", "button aria-haspopup" );
equal( button.attr( "aria-expanded" ), "false", "button aria-expanded" );
@@ -62,13 +62,13 @@ asyncTest( "accessibility", function() {
);
$.each( wrappers, function( index ) {
var item = $( this );
equal( item.attr( "role" ), "option", "menu item #" + index +" role" );
equal( item.attr( "tabindex" ), -1, "menu item #" + index +" tabindex" );
equal( item.attr( "role" ), "option", "menu item #" + index + " role" );
equal( item.attr( "tabindex" ), -1, "menu item #" + index + " tabindex" );
equal( item.attr( "title" ), "A demo title #" + index, "menu item #" + index + " title" );
});
} );
start();
});
});
} );
} );

test( "_renderButtonItem()", function() {
expect( 2 );
@@ -102,9 +102,9 @@ test( "_renderButtonItem()", function() {
button.text(),
"click: button item text"
);
});
} );

$.each([
$.each( [
{
type: "default",
selector: "#speed"
@@ -127,7 +127,7 @@ $.each([
selected = element.find( "option:selected" ).next();

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
wrappers = menu.find( "li.ui-menu-item .ui-menu-item-wrapper" );

button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
@@ -143,13 +143,13 @@ $.each([
);
equal(
element.find( "option:selected" ).val(),
selected.val() ,
selected.val(),
"original select state"
);
equal( button.text(), selected.text(), "button text" );
start();
});
});
} );
} );

asyncTest( "state synchronization - after click on item - " + settings.type, function() {
expect( 4 );
@@ -161,7 +161,7 @@ $.each([
selected = element.find( "option" ).last();

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
wrappers = menu.find( "li.ui-menu-item .ui-menu-item-wrapper" );

button.trigger( "click" );
@@ -184,7 +184,7 @@ $.each([
equal( button.text(), selected.text(), "button text" );
start();
}, 1 );
});
} );

asyncTest( "state synchronization - " +
"after focus item and keydown on button - " + settings.type, function() {
@@ -199,7 +199,7 @@ $.each([
// Init menu
button.simulate( "focus" );

setTimeout(function() {
setTimeout( function() {
wrappers = menu.find( "li.ui-menu-item .ui-menu-item-wrapper" );

// Open menu and click first item
@@ -213,20 +213,20 @@ $.each([
// Close and use keyboard control on button
button.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } );
button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );

equal( menu.attr( "aria-activedescendant" ), wrappers.eq( 1 ).attr( "id" ),
"menu aria-activedescendant" );
equal( button.attr( "aria-activedescendant" ), wrappers.eq( 1 ).attr( "id" ),
"button aria-activedescendant" );
equal( element.find( "option:selected" ).val(), options.eq( 1 ).val() ,
equal( element.find( "option:selected" ).val(), options.eq( 1 ).val(),
"original select state" );
equal( button.text(), options.eq( 1 ).text(), "button text" );
start();
});
});
});
} );
} );
} );

asyncTest( "item looping - " + settings.type, function() {
expect( 4 );
@@ -237,7 +237,7 @@ $.each([
menu = element.selectmenu( "menuWidget" );

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
wrappers = menu.find( "li.ui-menu-item .ui-menu-item-wrapper" );

button.trigger( "click" );
@@ -252,8 +252,8 @@ $.each([
button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
equal( element[ 0 ].selectedIndex, wrappers.length - 1, "No looping behind last item" );
start();
});
});
} );
} );

asyncTest( "item focus and active state - " + settings.type, function() {
expect( 4 );
@@ -264,11 +264,11 @@ $.each([
menu = element.selectmenu( "menuWidget" );

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
wrappers = menu.find( "li.ui-menu-item .ui-menu-item-wrapper" );

button.trigger( "click" );
setTimeout(function() {
setTimeout( function() {
checkItemClasses();

wrappers.eq( 3 ).simulate( "mouseover" ).trigger( "click" );
@@ -282,20 +282,20 @@ $.each([
$( document ).trigger( "click" );

button.trigger( "click" );
setTimeout(function() {
setTimeout( function() {
checkItemClasses();
start();
});
});
});
} );
} );
} );

function checkItemClasses() {
focusedItem = menu.find( ".ui-menu-item-wrapper.ui-state-active" );
equal( focusedItem.length, 1, "only one item has ui-state-focus class" );
equal( focusedItem.attr( "id" ), wrappers.eq( element[ 0 ].selectedIndex ).attr( "id" ),
"selected item has ui-state-focus class" );
}
});
} );

asyncTest( "empty option - " + settings.type, function( assert ) {
expect( 7 );
@@ -309,7 +309,7 @@ $.each([
menu = element.selectmenu( "menuWidget" );

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
wrappers = menu.find( "li:not(.ui-selectmenu-optgroup) .ui-menu-item-wrapper" );
wrapper = wrappers.first();

@@ -325,8 +325,8 @@ $.each([
equal( wrapper.attr( "role" ), "option", "empty item has role option" );

start();
});
});
});
} );
} );
} );

} );
@@ -7,47 +7,47 @@ module( "selectmenu: events", {
setup: function() {
this.element = $( "#speed" );
}
});
} );

asyncTest( "change", function() {
expect( 3 );

var button, menu, options,
optionIndex = 1;

this.element.selectmenu({
change: function ( event, ui ) {
this.element.selectmenu( {
change: function( event, ui ) {
equal( ui.item.index, optionIndex, "ui.item.index contains correct option index" );
equal( ui.item.element[ 0 ], options.eq( optionIndex )[ 0 ],
"ui.item.element contains original option element" );
equal( ui.item.value, options.eq( optionIndex ).text(),
"ui.item.value property updated correctly" );
}
});
} );

button = this.element.selectmenu( "widget" );
menu = this.element.selectmenu( "menuWidget" );
options = this.element.find( "option" );

button.simulate( "focus" );

setTimeout(function() {
setTimeout( function() {
button.trigger( "click" );
menu.find( "li" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" );
start();
});
});
} );
} );

test( "close", function() {
expect( 2 );

var shouldFire;

this.element.selectmenu({
this.element.selectmenu( {
close: function() {
ok( shouldFire, "close event fired on close" );
}
});
} );

shouldFire = false;
this.element.selectmenu( "open" );
@@ -57,7 +57,7 @@ test( "close", function() {
this.element.selectmenu( "open" );
shouldFire = true;
$( "body" ).trigger( "mousedown" );
});
} );

asyncTest( "focus", function() {
expect( 9 );
@@ -67,20 +67,20 @@ asyncTest( "focus", function() {
optionIndex = this.element[ 0 ].selectedIndex + 1,
options = this.element.find( "option" );

this.element.selectmenu({
this.element.selectmenu( {
focus: function( event, ui ) {
ok( true, "focus event fired on element #" + optionIndex + " mouseover" );
equal( ui.item.index, optionIndex, "ui.item.index contains correct option index" );
equal( ui.item.element[ 0 ], options.eq( optionIndex )[ 0 ],
"ui.item.element contains original option element" );
}
});
} );

button = this.element.selectmenu( "widget" );
menu = this.element.selectmenu( "menuWidget" );

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );

button.trigger( "click" );
@@ -93,44 +93,44 @@ asyncTest( "focus", function() {
// This tests for unwanted, additional focus event on close
that.element.selectmenu( "close" );
start();
});
});
} );
} );

test( "open", function() {
expect( 1 );

this.element.selectmenu({
this.element.selectmenu( {
open: function() {
ok( true, "open event fired on open" );
}
});
} );

this.element.selectmenu( "open" );
});
} );

asyncTest( "select", function() {
expect( 3 );

this.element.selectmenu({
this.element.selectmenu( {
select: function( event, ui ) {
ok( true, "select event fired on item select" );
equal( ui.item.index, optionIndex, "ui.item.index contains correct option index" );
equal( ui.item.element[ 0 ], options.eq( optionIndex )[ 0 ],
"ui.item.element contains original option element" );
}
});
} );

var button = this.element.selectmenu( "widget" ),
menu = this.element.selectmenu( "menuWidget" ),
options = this.element.find( "option" ),
optionIndex = 1;

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
button.trigger( "click" );
menu.find( "li" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" );
start();
});
});
} );
} );

} );
@@ -9,8 +9,8 @@ test( "destroy", function( assert ) {
expect( 1 );
assert.domEqual( "#speed", function() {
$( "#speed" ).selectmenu().selectmenu( "destroy" );
});
});
} );
} );

test( "open / close", function() {
expect( 5 );
@@ -27,7 +27,7 @@ test( "open / close", function() {
element.selectmenu( "close" );
ok( menu.is( ":hidden" ), "close: menu hidden" );
equal( menu.attr( "aria-hidden" ), "true", "close: menu aria-disabled" );
});
} );

test( "enable / disable", function() {
expect( 10 );
@@ -49,7 +49,7 @@ test( "enable / disable", function() {
equal( button.attr( "aria-disabled" ), "false", "enable: button ARIA" );
equal( button.attr( "tabindex" ), 0, "enable: button tabindex" );
equal( menu.attr( "aria-disabled" ), "false", "enable: menu ARIA" );
});
} );

test( "refresh - structure", function() {
expect( 3 );
@@ -73,7 +73,7 @@ test( "refresh - structure", function() {
equal( options.length, menuItems.length, "menu item length" );
equal( "Added option", menuItems.last().text(), "added item" );
equal( "Changed value", menuItems.eq( 0 ).text(), "changed item" );
});
} );

asyncTest( "refresh - change selected option", function() {
expect( 4 );
@@ -84,7 +84,7 @@ asyncTest( "refresh - change selected option", function() {
equal( element.find( "option:selected" ).text(), button.text(), "button text after init" );

button.simulate( "focus" );
setTimeout(function() {
setTimeout( function() {
equal( element.find( "option:selected" ).text(), button.text(), "button text after focus" );

element[ 0 ].selectedIndex = 0;
@@ -98,8 +98,8 @@ asyncTest( "refresh - change selected option", function() {
equal( "Selected option", button.text(), "button text after adding selected option" );

start();
});
});
} );
} );

test( "refresh - disabled select", function() {
expect( 4 );
@@ -115,7 +115,7 @@ test( "refresh - disabled select", function() {
equal( button.attr( "aria-disabled" ), "true", "button ARIA" );
equal( button.attr( "tabindex" ), -1, "button tabindex" );
equal( menu.attr( "aria-disabled" ), "true", "menu ARIA" );
});
} );

test( "refresh - disabled option", function( assert ) {
expect( 1 );
@@ -129,7 +129,7 @@ test( "refresh - disabled option", function( assert ) {

disabledItem = menu.find( "li" ).not( ".ui-selectmenu-optgroup" ).eq( 2 );
assert.hasClasses( disabledItem, "ui-state-disabled" );
});
} );

test( "refresh - disabled optgroup", function( assert ) {
var i, item,
@@ -156,7 +156,7 @@ test( "refresh - disabled optgroup", function( assert ) {
item = item.next( "li" );
assert.hasClasses( item, "ui-state-disabled" );
}
});
} );

test( "refresh - remove all options", function() {
expect( 2 );
@@ -170,7 +170,7 @@ test( "refresh - remove all options", function() {
equal( button.find( ".ui-selectmenu-text" ).html(), $( "<span>&#160;</span>" ).html(),
"Empty button text" );
equal( menu.children().length, 0, "Empty menu" );
});
} );

test( "widget and menuWidget", function( assert ) {
expect( 4 );
@@ -184,6 +184,6 @@ test( "widget and menuWidget", function( assert ) {

equal( menu.length, 1, "Menu Widget: one element" );
ok( menu.is( "ul.ui-menu" ), "Menu Widget: element and class" );
});
} );

} );
@@ -11,17 +11,17 @@ test( "appendTo: null", function() {
var element = $( "#speed" ).selectmenu();
equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], document.body,
"defaults to body" );
});
} );

test( "appendTo: explicit", function() {
expect( 6 );

var detached = $( "<div>" ),
element = $( "#speed" );

element.selectmenu({
element.selectmenu( {
appendTo: ".selectmenu-wrap"
});
} );
equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ],
$( "#selectmenu-wrap1" )[ 0 ], "first found element" );
equal( $( "#selectmenu-wrap2 .ui-selectmenu" ).length, 0, "only appends to one element" );
@@ -32,16 +32,16 @@ test( "appendTo: explicit", function() {
$( "#selectmenu-wrap1" )[ 0 ], "modified after init" );
element.selectmenu( "destroy" );

element.selectmenu({
element.selectmenu( {
appendTo: detached
});
} );
equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ],
"detached jQuery object" );
element.selectmenu( "destroy" );

element.selectmenu({
element.selectmenu( {
appendTo: detached[ 0 ]
});
} );
equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ],
"detached DOM element" );
element.selectmenu( "destroy" );
@@ -50,7 +50,7 @@ test( "appendTo: explicit", function() {
equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ],
"detached DOM element via option()" );
element.selectmenu( "destroy" );
});
} );

test( "appendTo: ui-front", function() {
expect( 2 );
@@ -63,12 +63,12 @@ test( "appendTo: ui-front", function() {
$( "#selectmenu-wrap2" )[ 0 ], "null, inside .ui-front" );
element.selectmenu( "destroy" );

element.selectmenu({
element.selectmenu( {
appendTo: $()
});
} );
equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ],
$( "#selectmenu-wrap2" )[ 0 ], "empty jQuery object, inside .ui-front" );
});
} );

test( "CSS styles", function( assert ) {
expect( 5 );
@@ -84,7 +84,7 @@ test( "CSS styles", function( assert ) {
assert.hasClasses( button.find( "span.ui-icon" ), "ui-icon-triangle-1-s" );
assert.hasClasses( menu, "ui-corner-bottom" );
assert.lacksClasses( button, "ui-corner-all" );
});
} );

test( "width", function() {
expect( 6 );
@@ -120,9 +120,9 @@ test( "width", function() {
element
.selectmenu( "destroy" )
.css( "width", "100%" )
.selectmenu({ width: null });
.selectmenu( { width: null } );
button = element.selectmenu( "widget" );
equal( button.outerWidth(), 300, "button width fills container" );
});
} );

} );
@@ -30,6 +30,6 @@ common.testWidget( "slider", {
start: null,
stop: null
}
});
} );

} );
@@ -14,15 +14,15 @@ module( "slider: core" );

test( "markup structure", function( assert ) {
expect( 4 );
var element = $( "<div>" ).slider({ range: true }),
var element = $( "<div>" ).slider( { range: true } ),
handle = element.find( "span" ),
range = element.find( "div" );

assert.hasClasses( element, "ui-slider ui-slider-horizontal ui-widget ui-widget-content" );
assert.hasClasses( range, "ui-slider-range ui-widget-header" );
assert.hasClasses( handle[ 0 ], "ui-slider-handle" );
assert.hasClasses( handle[ 1 ], "ui-slider-handle" );
});
} );

test( "keydown HOME on handle sets value to min", function() {
expect( 2 );
@@ -38,7 +38,7 @@ test( "keydown HOME on handle sets value to min", function() {
element.slider( "value", 0 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.HOME } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

element.slider( "destroy" );

@@ -54,10 +54,10 @@ test( "keydown HOME on handle sets value to min", function() {
element.slider( "value", 0 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.HOME } );
equal(element.slider( "value" ), options.min) ;
equal( element.slider( "value" ), options.min ) ;

element.slider( "destroy" );
});
} );

test( "keydown END on handle sets value to max", function() {
expect( 2 );
@@ -73,7 +73,7 @@ test( "keydown END on handle sets value to max", function() {
element.slider( "value", 0 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.END } );
equal(element.slider( "value" ), options.max) ;
equal( element.slider( "value" ), options.max ) ;

element.slider( "destroy" );

@@ -89,10 +89,10 @@ test( "keydown END on handle sets value to max", function() {
element.slider( "value", 0 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.END } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

element.slider( "destroy" );
});
} );

test( "keydown PAGE_UP on handle increases value by 1/5 range, not greater than max", function() {
expect( 4 );
@@ -106,17 +106,17 @@ test( "keydown PAGE_UP on handle increases value by 1/5 range, not greater than
};
element.slider( options );

element.slider( "value", 70);
element.slider( "value", 70 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
equal(element.slider( "value" ), 90);
equal( element.slider( "value" ), 90 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
equal(element.slider( "value" ), 100);
equal( element.slider( "value" ), 100 );

element.slider( "destroy" );
});
});
} );
} );

test( "keydown PAGE_DOWN on handle decreases value by 1/5 range, not less than min", function() {
expect( 4 );
@@ -130,17 +130,17 @@ test( "keydown PAGE_DOWN on handle decreases value by 1/5 range, not less than m
};
element.slider( options );

element.slider( "value", 30);
element.slider( "value", 30 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
equal(element.slider( "value" ), 10);
equal( element.slider( "value" ), 10 );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
equal(element.slider( "value" ), 0 );
equal( element.slider( "value" ), 0 );

element.slider( "destroy" );
});
});
} );
} );

test( "keydown UP on handle increases value by step, not greater than max", function() {
expect( 4 );
@@ -151,15 +151,15 @@ test( "keydown UP on handle increases value by step, not greater than max", func
orientation: "horizontal",
step: 1
};
element.slider(options);
element.slider( options );

element.slider( "value", options.max - options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

element.slider( "destroy" );

@@ -175,13 +175,13 @@ test( "keydown UP on handle increases value by step, not greater than max", func
element.slider( "value", options.max - options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

element.slider( "destroy" );
});
} );

test( "keydown RIGHT on handle increases value by step, not greater than max", function() {
expect( 4 );
@@ -192,15 +192,15 @@ test( "keydown RIGHT on handle increases value by step, not greater than max", f
orientation: "horizontal",
step: 1
};
element.slider(options);
element.slider( options );

element.slider( "value", options.max - options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
equal(element.slider( "value" ), options.max);
equal( element.slider( "value" ), options.max );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

element.slider( "destroy" );

@@ -216,13 +216,13 @@ test( "keydown RIGHT on handle increases value by step, not greater than max", f
element.slider( "value", options.max - options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
equal(element.slider( "value" ), options.max );
equal( element.slider( "value" ), options.max );

element.slider( "destroy" );
});
} );

test( "keydown DOWN on handle decreases value by step, not less than min", function() {
expect( 4 );
@@ -238,10 +238,10 @@ test( "keydown DOWN on handle decreases value by step, not less than min", funct
element.slider( "value", options.min + options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
equal(element.slider( "value" ), options.min);
equal( element.slider( "value" ), options.min );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

element.slider( "destroy" );

@@ -257,13 +257,13 @@ test( "keydown DOWN on handle decreases value by step, not less than min", funct
element.slider( "value", options.min + options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
equal(element.slider( "value" ), options.min);
equal( element.slider( "value" ), options.min );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

element.slider( "destroy" );
});
} );

test( "keydown LEFT on handle decreases value by step, not less than min", function() {
expect( 4 );
@@ -274,15 +274,15 @@ test( "keydown LEFT on handle decreases value by step, not less than min", funct
orientation: "horizontal",
step: 1
};
element.slider(options);
element.slider( options );

element.slider( "value", options.min + options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

element.slider( "destroy" );

@@ -298,12 +298,12 @@ test( "keydown LEFT on handle decreases value by step, not less than min", funct
element.slider( "value", options.min + options.step );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
equal(element.slider( "value" ), options.min );
equal( element.slider( "value" ), options.min );

element.slider( "destroy" );
});
} );

} );
@@ -13,11 +13,11 @@ test( "mouse based interaction", function() {
expect( 4 );

var element = $( "#slider1" )
.slider({
.slider( {
start: function( event ) {
equal( event.originalEvent.type, "mousedown", "start triggered by mousedown" );
},
slide: function( event) {
slide: function( event ) {
equal( event.originalEvent.type, "mousemove", "slider triggered by mousemove" );
},
stop: function( event ) {
@@ -26,18 +26,18 @@ test( "mouse based interaction", function() {
change: function( event ) {
equal( event.originalEvent.type, "mouseup", "change triggered by mouseup" );
}
});
} );

element.find( ".ui-slider-handle" ).eq( 0 )
.simulate( "drag", { dx: 10, dy: 10 } );

});
} );
test( "keyboard based interaction", function() {
expect( 3 );

// Test keyup at end of handle slide (keyboard)
var element = $( "#slider1" )
.slider({
.slider( {
start: function( event ) {
equal( event.originalEvent.type, "keydown", "start triggered by keydown" );
},
@@ -50,113 +50,113 @@ test( "keyboard based interaction", function() {
change: function( event ) {
equal( event.originalEvent.type, "keyup", "change triggered by keyup" );
}
});
} );

element.find( ".ui-slider-handle" ).eq( 0 )
.simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } )
.simulate( "keypress", { keyCode: $.ui.keyCode.LEFT } )
.simulate( "keyup", { keyCode: $.ui.keyCode.LEFT } );

});
} );
test( "programmatic event triggers", function() {
expect( 6 );

// Test value method
var element = $( "<div></div>" )
.slider({
.slider( {
change: function() {
ok( true, "change triggered by value method" );
}
})
} )
.slider( "value", 0 );

// Test values method
element = $( "<div></div>" )
.slider({
.slider( {
values: [ 10, 20 ],
change: function() {
ok( true, "change triggered by values method" );
}
})
} )
.slider( "values", [ 80, 90 ] );

// Test value option
element = $( "<div></div>" )
.slider({
.slider( {
change: function() {
ok( true, "change triggered by value option" );
}
})
} )
.slider( "option", "value", 0 );

// Test values option
element = $( "<div></div>" )
.slider({
.slider( {
values: [ 10, 20 ],
change: function() {
ok( true, "change triggered by values option" );
}
})
} )
.slider( "option", "values", [ 80, 90 ] );

});
} );

test( "mouse based interaction part two: when handles overlap", function() {
expect( 6 );

var element = $( "#slider1" )
.slider({
.slider( {
values: [ 0, 0, 0 ],
start: function( event, ui ) {
equal( handles.index( ui.handle ), 2, "rightmost handle activated when overlapping at minimum (#3736)" );
}
}),
} ),
handles = element.find( ".ui-slider-handle" );
handles.eq( 0 ).simulate( "drag", { dx: 10 } );
element.slider( "destroy" );

element = $( "#slider1" )
.slider({
.slider( {
values: [ 10, 10, 10 ],
max: 10,
start: function( event, ui ) {
equal( handles.index( ui.handle ), 0, "leftmost handle activated when overlapping at maximum" );
}
}),
} ),
handles = element.find( ".ui-slider-handle" );
handles.eq( 0 ).simulate( "drag", { dx: -10 } );
element.slider( "destroy" );

element = $( "#slider1" )
.slider({
.slider( {
values: [ 19, 20 ]
}),
} ),
handles = element.find( ".ui-slider-handle" );
handles.eq( 0 ).simulate( "drag", { dx: 10 } );
element.one( "slidestart", function( event, ui ) {
equal( handles.index( ui.handle ), 0, "left handle activated if left was moved last" );
});
} );
handles.eq( 0 ).simulate( "drag", { dx: 10 } );
element.slider( "destroy" );

element = $( "#slider1" )
.slider({
.slider( {
values: [ 19, 20 ]
}),
} ),
handles = element.find( ".ui-slider-handle" );
handles.eq( 1 ).simulate( "drag", { dx: -10 } );
element.one( "slidestart", function( event, ui ) {
equal( handles.index( ui.handle ), 1, "right handle activated if right was moved last (#3467)" );
});
} );
handles.eq( 0 ).simulate( "drag", { dx: 10 } );

element = $( "#slider1" )
.slider({
.slider( {
range: true,
min: 0,
max: 100,
values: [ 0, 50 ]
}),
} ),
handles = element.find( ".ui-slider-handle" );

element.slider( "option", { values: [ 100, 100 ] } );
@@ -166,7 +166,7 @@ test( "mouse based interaction part two: when handles overlap", function() {
element.slider( "option", { values: [ 0, 0 ] } );
handles.eq( 1 ).simulate( "drag", { dx: 10 } );
equal( element.slider( "values" )[ 1 ], 1, "setting both values of range slider to the minimum doesn't lock slider" );
});
} );

test( "event data", function() {
expect( 6 );
@@ -175,7 +175,7 @@ test( "event data", function() {
values = [ 8, 9, 7, 4 ],
newValues = [ 8, 9, 7, 5 ],
element = $( "#slider1" )
.slider({
.slider( {
values: values,
start: function( event, ui ) {
deepEqual( ui, expectedUiHash, "passing ui to start event" );
@@ -189,7 +189,7 @@ test( "event data", function() {
change: function( event, ui ) {
deepEqual( ui, expectedChangedUiHash, "passing ui to change event" );
}
}),
} ),
handles = element.find( ".ui-slider-handle" ),
expectedUiHash = {
handle: handles.eq( slideHandleIndex )[ 0 ],
@@ -200,33 +200,33 @@ test( "event data", function() {
expectedChangedUiHash = $.extend( {}, expectedUiHash, {
values: newValues,
value: newValues[ slideHandleIndex ]
});
} );

handles.eq( slideHandleIndex ).simulate( "drag", { dx: 10 } );

element.slider( "destroy" );
element = $( "#slider1" ).slider({
element = $( "#slider1" ).slider( {
min: 0,
max: 100,
value: 1,
slide: function ( event, ui ) {
slide: function( event, ui ) {
equal( ui.value, 0, "should pass 0 value if slider reaches it" );
}
});
} );
handles = element.find( ".ui-slider-handle" );
handles.eq( 0 ).simulate( "drag", { dx: -10 } );

element.slider( "destroy" );
element = $( "#slider1" ).slider({
element = $( "#slider1" ).slider( {
min: 0,
max: 100,
values: [ 1, 2 ],
slide: function ( event, ui ) {
slide: function( event, ui ) {
equal( ui.value, 0, "should pass 0 value if one of handles reaches it" );
}
});
} );
handles = element.find( ".ui-slider-handle" );
handles.eq( 0 ).simulate( "drag", { dx: -10 } );
});
} );

} );
@@ -6,7 +6,7 @@ define( [
module( "slider: methods" );

test( "init", function() {
expect(5);
expect( 5 );

$( "<div></div>" ).appendTo( "body" ).slider().remove();
ok( true, ".slider() called on element" );
@@ -24,65 +24,67 @@ test( "init", function() {

$( "<div></div>" ).slider().slider( "option", "foo", "bar" ).remove();
ok( true, "arbitrary option setter after init" );
});
} );

test( "destroy", function( assert ) {
expect( 1 );
assert.domEqual( "#slider1", function() {
$( "#slider1" ).slider().slider( "destroy" );
});
});
} );
} );

test( "enable", function( assert ) {
expect( 3 );
var element,
expected = $( "<div></div>" ).slider(),
actual = expected.slider( "enable" );
equal(actual, expected, "enable is chainable" );
equal( actual, expected, "enable is chainable" );

element = $( "<div></div>" ).slider({ disabled: true });
element = $( "<div></div>" ).slider( { disabled: true } );
assert.hasClasses( element, "ui-state-disabled ui-slider-disabled" );
element.slider( "enable" );
assert.lacksClasses( element, "ui-state-disabled ui-slider-disabled" );
});
} );

test( "disable", function( assert ) {
expect( 4 );
var element,
expected = $( "<div></div>" ).slider(),
actual = expected.slider( "disable" );
equal(actual, expected, "disable is chainable" );
equal( actual, expected, "disable is chainable" );

element = $( "<div></div>" ).slider({ disabled: false });
element = $( "<div></div>" ).slider( { disabled: false } );
assert.lacksClasses( element, "ui-state-disabled ui-slider-disabled" );
element.slider( "disable" );
assert.hasClasses( element, "ui-state-disabled ui-slider-disabled" );
ok( !element.attr( "aria-disabled" ), "slider does not have aria-disabled attr after disable method call" );
});
} );

test( "value", function() {
expect( 19 );
$( [ false, "min", "max" ] ).each(function() {
var element = $( "<div></div>" ).slider({
$( [ false, "min", "max" ] ).each( function() {
var element = $( "<div></div>" ).slider( {
range: this,
value: 5
});
} );
equal( element.slider( "value" ), 5, "range: " + this + " slider method get" );
equal( element.slider( "value", 10), element, "value method is chainable" );
equal( element.slider( "value", 10 ), element, "value method is chainable" );
equal( element.slider( "value" ), 10, "range: " + this + " slider method set" );
element.remove();
});
var element = $( "<div></div>" ).slider({
} );
var element = $( "<div></div>" ).slider( {
min: -1, value: 0, max: 1
});
} );

// min with value option vs value method
element.slider( "option", "value", -2 );
equal( element.slider( "option", "value" ), -2, "value option does not respect min" );
equal( element.slider( "value" ), -1, "value method get respects min" );
equal( element.slider( "value", -2 ), element, "value method is chainable" );
equal( element.slider( "option", "value" ), -1, "value method set respects min" );

// max with value option vs value method
element.slider( "option", "value", 2);
element.slider( "option", "value", 2 );
equal( element.slider( "option", "value" ), 2, "value option does not respect max" );
equal( element.slider( "value" ), 1, "value method get respects max" );
equal( element.slider( "value", 2 ), element, "value method is chainable" );
@@ -94,20 +96,20 @@ test( "value", function() {
value: 2,
max: 2.4,
step: 0.01
});
} );
element.slider( "option", "value", 2.4 );
equal( element.slider( "value" ), 2.4, "value is set to max with 0.01 step" );

element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
value: 100,
min: 10,
max: 500,
step: 50
});
} );

element.slider( "option", "value", 510 );
equal( element.slider( "value" ), 460, "value is restricted to maximum valid step" );
});
} );

//test( "values", function() {
// ok(false, "missing test - untested code is broken code." );
@@ -11,18 +11,18 @@ function handle() {

module( "slider: options" );

test( "disabled", function( assert ){
test( "disabled", function( assert ) {
expect( 8 );
var count = 0;

element = $( "#slider1" ).slider();
element.on( "slidestart", function() {
count++;
});
} );

// Enabled
assert.lacksClasses( element, "ui-slider-disabled" );
equal( element.slider( "option", "disabled" ), false , "is not disabled" );
equal( element.slider( "option", "disabled" ), false, "is not disabled" );

handle().simulate( "drag", { dx: 10 } );
equal( count, 1, "slider moved" );
@@ -40,7 +40,7 @@ test( "disabled", function( assert ){

handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
equal( count, 2, "slider did not move" );
});
} );

test( "max", function() {
expect( 5 );
@@ -87,7 +87,7 @@ test( "max", function() {
ok( element.slider( "value" ) === options.max, "value method will max, step is changed and step is float" );
element.slider( "destroy" );

});
} );

test( "min", function() {
expect( 2 );
@@ -106,7 +106,7 @@ test( "min", function() {
ok( element.slider( "value" ) === options.min, "value method is contained by min" );
element.slider( "destroy" );

});
} );

test( "orientation", function( assert ) {
expect( 14 );
@@ -126,7 +126,7 @@ test( "orientation", function( assert ) {
assert.hasClasses( element, "ui-slider-horizontal" );
assert.lacksClasses( element, "ui-slider-vertical" );
equal( element.find( ".ui-slider-handle" )[ 0 ].style.bottom, "", "CSS bottom reset" );
equal( handle()[0].style.left, percentVal + "%", "horizontal slider handle is positioned with left: %" );
equal( handle()[ 0 ].style.left, percentVal + "%", "horizontal slider handle is positioned with left: %" );

element.slider( "destroy" ) ;

@@ -143,17 +143,17 @@ test( "orientation", function( assert ) {
assert.hasClasses( element, "ui-slider-vertical" );
assert.lacksClasses( element, "ui-slider-horizontal" );
equal( element.find( ".ui-slider-handle" )[ 0 ].style.left, "", "CSS left reset" );
equal( handle()[0].style.bottom, percentVal + "%", "vertical slider handle is positioned with bottom: %" );
equal( handle()[ 0 ].style.bottom, percentVal + "%", "vertical slider handle is positioned with bottom: %" );

element.slider( "destroy" );

newValue = 7;
rangeSize = 500 - (500 * newValue / 10);
element = $( "#slider2" ).slider({
rangeSize = 500 - ( 500 * newValue / 10 );
element = $( "#slider2" ).slider( {
range: "max",
min: 0,
max: 10
});
} );

element.slider( "option", "value", newValue );
element.slider( "option", "orientation", "vertical" );
@@ -170,11 +170,11 @@ test( "orientation", function( assert ) {

element.slider( "destroy" );

element = $( "#slider2" ).slider({
element = $( "#slider2" ).slider( {
range: true,
min: 0,
max: 100
});
} );
element.slider( "option", { values: [ 60, 70 ] } );
notEqual( element.find( ".ui-slider-range " ).position().left, 0,
"range should not pull over to the track's border" );
@@ -183,19 +183,19 @@ test( "orientation", function( assert ) {
"range should pull over to the track's border" );

element.slider( "destroy" );
});
} );

//spec: http://wiki.jqueryui.com/Slider#specs
// value option/method: the value option is not restricted by min/max/step.
// What is returned by the value method is restricted by min (>=), max (<=), and step (even multiple)
test( "step", function() {
expect( 9 );
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
min: 0,
value: 0,
step: 10,
max: 100
});
} );
equal( element.slider( "value" ), 0 );

element.slider( "value", 1 );
@@ -210,12 +210,12 @@ test( "step", function() {
element.slider( "value", 19 );
equal( element.slider( "value" ), 20 );

element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
min: 0,
value: 0,
step: 20,
max: 100
});
} );
element.slider( "value", 0 );

element.slider( "option", "value", 1 );
@@ -231,7 +231,7 @@ test( "step", function() {
equal( element.slider( "value" ), 20 );

element.slider( "destroy" );
});
} );

//test( "value", function() {
// ok(false, "missing test - untested code is broken code." );
@@ -243,13 +243,13 @@ test( "values", function() {
// Testing multiple ranges on the same page, the object reference to the values
// property is preserved via multiple range elements, so updating options.values
// of 1 slider updates options.values of all the others
var ranges = $([
var ranges = $( [
document.createElement( "div" ),
document.createElement( "div" )
]).slider({
] ).slider( {
range: true,
values: [ 25, 75 ]
});
} );

notStrictEqual(
ranges.eq( 0 ).slider( "instance" ).options.values,
@@ -264,123 +264,123 @@ test( "values", function() {
ranges.eq( 1 ).slider( "values", 0 ),
"the values for multiple sliders should be different"
);
});
} );

test( "range", function( assert ) {
expect( 32 );
var range;

// Min
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: "min",
min: 1,
max: 10,
step: 1
});
} );

equal( element.find( ".ui-slider-handle" ).length, 1, "range min, one handle" );
equal( element.find( ".ui-slider-range-min" ).length, 1, "range min" );
element.slider( "destroy" );

// Max
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: "max",
min: 1,
max: 10,
step: 1
});
} );

equal( element.find( ".ui-slider-handle" ).length, 1, "range max, one handle" );
equal( element.find( ".ui-slider-range-max" ).length, 1, "range max" );
element.slider( "destroy" );

// True
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: true,
min: 1,
max: 10,
step: 1
});
} );

range = element.find( ".ui-slider-range" );
equal( element.find( ".ui-slider-handle" ).length, 2, "range true, two handles" );
assert.lacksClasses( range, "ui-slider-range-max ui-slider-range-min" );
element.slider( "destroy" );

// Change range from min to max
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: "min",
min: 1,
max: 10,
step: 1
}).slider( "option", "range", "max" );
} ).slider( "option", "range", "max" );

equal( element.find( ".ui-slider-handle" ).length, 1, "range switch from min to max, one handle" );
equal( element.find( ".ui-slider-range-min" ).length, 0, "range switch from min to max" );
equal( element.find( ".ui-slider-range-max" ).length, 1, "range switch from min to max" );
element.slider( "destroy" );

// Change range from max to min
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: "max",
min: 1,
max: 10,
step: 1
}).slider( "option", "range", "min" );
} ).slider( "option", "range", "min" );

equal( element.find( ".ui-slider-handle" ).length, 1, "range switch from max to min, one handle" );
equal( element.find( ".ui-slider-range-max" ).length, 0, "range switch from max to min" );
equal( element.find( ".ui-slider-range-min" ).length, 1, "range switch from max to min" );
element.slider( "destroy" );

// Change range from max to true
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: "max",
min: 1,
max: 10,
step: 1
}).slider( "option", "range", true );
} ).slider( "option", "range", true );

equal( element.find( ".ui-slider-handle" ).length, 2, "range switch from max to true, two handles" );
equal( element.find( ".ui-slider-range-max" ).length, 0, "range switch from max to true" );
equal( element.find( ".ui-slider-range-min" ).length, 0, "range switch from max to true" );
equal( element.slider( "option", "value" ), 0 , "option value" );
equal( element.slider( "value" ), 1 , "value" );
deepEqual( element.slider( "option", "values" ), [1, 1], "option values" );
deepEqual( element.slider( "values" ), [1, 1], "values" );
equal( element.slider( "option", "value" ), 0, "option value" );
equal( element.slider( "value" ), 1, "value" );
deepEqual( element.slider( "option", "values" ), [ 1, 1 ], "option values" );
deepEqual( element.slider( "values" ), [ 1, 1 ], "values" );
element.slider( "destroy" );

// Change range from true to min
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: true,
min: 1,
max: 10,
step: 1
}).slider( "option", "range", "min" );
} ).slider( "option", "range", "min" );

equal( element.find( ".ui-slider-handle" ).length, 1, "range switch from true to min, one handle" );
equal( element.find( ".ui-slider-range-max" ).length, 0, "range switch from true to min" );
equal( element.find( ".ui-slider-range-min" ).length, 1, "range switch from true to min" );
equal( element.slider( "option", "value" ), 1, "value" );
equal( element.slider( "value" ), 1 , "value" );
equal( element.slider( "value" ), 1, "value" );
equal( element.slider( "option", "values" ), null, "values" );
deepEqual( element.slider( "values" ), [] , "values" );
deepEqual( element.slider( "values" ), [], "values" );
element.slider( "destroy" );

// Change range from true to false
element = $( "<div></div>" ).slider({
element = $( "<div></div>" ).slider( {
range: true,
min: 1,
max: 10,
step: 1
}).slider( "option", "range", false );
} ).slider( "option", "range", false );
equal( element.find( ".ui-slider-handle" ).length, 2, "range switch from true to false, both handles remain" );
equal( element.find( ".ui-slider-range" ).length, 0, "range switch from true to false" );
equal( element.slider( "option", "value" ), 0 , "option value" );
equal( element.slider( "value" ), 1 , "value" );
deepEqual( element.slider( "option", "values" ), [1, 1], "option values" );
deepEqual( element.slider( "values" ), [1, 1], "values" );
equal( element.slider( "option", "value" ), 0, "option value" );
equal( element.slider( "value" ), 1, "value" );
deepEqual( element.slider( "option", "values" ), [ 1, 1 ], "option values" );
deepEqual( element.slider( "values" ), [ 1, 1 ], "values" );
element.slider( "destroy" );
});
} );

} );
@@ -48,6 +48,6 @@ common.testWidget( "sortable", {
stop: null,
update: null
}
});
} );

} );
@@ -9,12 +9,12 @@ module( "sortable: core" );
test( "#9314: Sortable: Items cannot be dragged directly into bottom position", function() {
expect( 1 );

var el = $( ".connectWith" ).sortable({
var el = $( ".connectWith" ).sortable( {
connectWith: ".connectWith"
});
} );

testHelper.sort( $( "li", el[ 1 ] )[ 0 ], 0, -12, 5, "Dragging the sortable into connected sortable" );
});
} );

test( "ui-sortable-handle applied to appropriate element", function( assert ) {
expect( 8 );
@@ -37,6 +37,6 @@ test( "ui-sortable-handle applied to appropriate element", function( assert ) {

el.sortable( "destroy" );
equal( el.find( ".ui-sortable-handle" ).length, 0, "class name removed on destroy" );
});
} );

} );