/* * selectable_methods.js */ (function($) { module("selectable: methods"); test("init", function() { expect(6); $("
").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 disconnected DOMElement'); $("").selectable().selectable("foo").remove(); ok(true, 'arbitrary method called after init'); el = $("").selectable() var foo = el.data("foo.selectable"); el.remove(); ok(true, 'arbitrary option getter after init'); $("").selectable().data("foo.selectable", "bar").remove(); ok(true, 'arbitrary option setter after init'); }); test("destroy", function() { expect(7); $("").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 disconnected DOMElement'); $("").selectable().selectable("destroy").selectable("foo").remove(); ok(true, 'arbitrary method called after destroy'); el = $("").selectable(); var foo = el.selectable("destroy").data("foo.selectable"); el.remove(); ok(true, 'arbitrary option getter after destroy'); $("").selectable().selectable("destroy").data("foo.selectable", "bar").remove(); ok(true, 'arbitrary option setter after destroy'); var expected = $('').selectable(), actual = expected.selectable('destroy'); equals(actual, expected, 'destroy is chainable'); }); test("enable", function() { expect(3); var fired = false; el = $("#selectable1"); el.selectable({ disabled: true, start: function() { fired = true; } }); el.simulate("drag", 20, 20); equals(fired, false, "start fired"); el.selectable("enable"); el.simulate("drag", 20, 20); equals(fired, true, "start fired"); el.selectable("destroy"); var expected = $('').selectable(), actual = expected.selectable('enable'); equals(actual, expected, 'enable is chainable'); }); test("disable", function() { expect(3); var fired = false; el = $("#selectable1"); el.selectable({ disabled: false, start: function() { fired = true; } }); el.simulate("drag", 20, 20); equals(fired, true, "start fired"); el.selectable("disable"); fired = false; el.simulate("drag", 20, 20); equals(fired, false, "start fired"); el.selectable("destroy"); var expected = $('').selectable(), actual = expected.selectable('disable'); equals(actual, expected, 'disable is chainable'); }); })(jQuery);