define( [ "jquery", "./draggable_test_helpers", "ui/draggable" ], function( $, draggableTestHelpers ) { var element; module( "draggable: methods", { setup: function() { element = $("
Absolute
").appendTo("#qunit-fixture"); }, teardown: function() { element.remove(); } }); test( "init", function() { expect( 5 ); element.draggable(); ok( true, ".draggable() called on element" ); $([]).draggable(); ok( true, ".draggable() called on empty collection" ); $("
").draggable(); ok( true, ".draggable() called on disconnected DOMElement" ); element.draggable( "option", "foo" ); ok( true, "arbitrary option getter after init" ); element.draggable( "option", "foo", "bar" ); ok( true, "arbitrary option setter after init" ); }); test( "destroy", function() { expect( 4 ); element.draggable().draggable("destroy"); ok( true, ".draggable('destroy') called on element" ); $([]).draggable().draggable("destroy"); ok( true, ".draggable('destroy') called on empty collection" ); element.draggable().draggable("destroy"); ok( true, ".draggable('destroy') called on disconnected DOMElement" ); var expected = element.draggable(), actual = expected.draggable("destroy"); equal( actual, expected, "destroy is chainable" ); }); test( "enable", function() { expect( 11 ); element.draggable({ disabled: true }); draggableTestHelpers.shouldNotDrag( element, ".draggable({ disabled: true })" ); element.draggable("enable"); draggableTestHelpers.shouldMove( element, ".draggable('enable')" ); equal( element.draggable( "option", "disabled" ), false, "disabled option getter" ); element.draggable("destroy"); element.draggable({ disabled: true }); draggableTestHelpers.shouldNotDrag( element, ".draggable({ disabled: true })" ); element.draggable( "option", "disabled", false ); equal(element.draggable( "option", "disabled" ), false, "disabled option setter" ); draggableTestHelpers.shouldMove( element, ".draggable('option', 'disabled', false)" ); var expected = element.draggable(), actual = expected.draggable("enable"); equal( actual, expected, "enable is chainable" ); }); test( "disable", function( assert ) { expect( 14 ); element = $( "#draggable2" ).draggable({ disabled: false }); draggableTestHelpers.shouldMove( element, ".draggable({ disabled: false })" ); element.draggable( "disable" ); draggableTestHelpers.shouldNotDrag( element, ".draggable('disable')" ); equal( element.draggable( "option", "disabled" ), true, "disabled option getter" ); element.draggable( "destroy" ); element.draggable({ disabled: false }); draggableTestHelpers.shouldMove( element, ".draggable({ disabled: false })" ); element.draggable( "option", "disabled", true ); equal( element.draggable( "option", "disabled" ), true, "disabled option setter" ); draggableTestHelpers.shouldNotDrag( element, ".draggable('option', 'disabled', true)" ); assert.lacksClasses( element.draggable( "widget" ), "ui-state-disabled" ); ok( !element.draggable( "widget" ).attr( "aria-disabled" ), "element does not get aria-disabled" ); assert.hasClasses( element.draggable( "widget" ), "ui-draggable-disabled" ); var expected = element.draggable(), actual = expected.draggable( "disable" ); equal( actual, expected, "disable is chainable" ); }); } );