| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
1 /* 2 * sortable unit tests 3 */ 4 (function($) { 5 // 6 // Sortable Test Helper Functions 7 // 8 9 var defaults = { 10 appendTo: "parent", 11 cancel: ":input", 12 delay: 0, 13 disabled: false, 14 distance: 1, 15 dropOnEmpty: true, 16 helper: "original", 17 items: "> *", 18 scroll: true, 19 scrollSensitivity: 20, 20 scrollSpeed: 20, 21 tolerance: "guess", 22 zIndex: 1000 23 }; 24 25 var el, offsetBefore, offsetAfter, dragged; 26 27 var drag = function(handle, dx, dy) { 28 offsetBefore = $(handle).offset(); 29 $(handle).simulate("drag", { 30 dx: dx || 0, 31 dy: dy || 0 32 }); 33 dragged = { dx: dx, dy: dy }; 34 offsetAfter = $(handle).offset(); 35 } 36 37 var sort = function(handle, dx, dy, index, msg) { 38 drag(handle, dx, dy); 39 equals($(handle).parent().children().index(handle), index, msg); 40 } 41 42 var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); } 43 var margin = function(el, side) { return parseInt(el.css('margin-' + side)); } 44 45 // Sortable Tests 46 module("sortable"); 47 48 test("init", function() { 49 expect(6); 50 51 $("<div></div>").appendTo('body').sortable().remove(); 52 ok(true, '.sortable() called on element'); 53 54 $([]).sortable(); 55 ok(true, '.sortable() called on empty collection'); 56 57 $("<div></div>").sortable(); 58 ok(true, '.sortable() called on disconnected DOMElement'); 59 60 $("<div></div>").sortable().sortable("foo"); 61 ok(true, 'arbitrary method called after init'); 62 63 $("<div></div>").sortable().data("foo.sortable"); 64 ok(true, 'arbitrary option getter after init'); 65 66 $("<div></div>").sortable().data("foo.sortable", "bar"); 67 ok(true, 'arbitrary option setter after init'); 68 }); 69 70 test("destroy", function() { 71 expect(6); 72 73 $("<div></div>").appendTo('body').sortable().sortable("destroy").remove(); 74 ok(true, '.sortable("destroy") called on element'); 75 76 $([]).sortable().sortable("destroy"); 77 ok(true, '.sortable("destroy") called on empty collection'); 78 79 $("<div></div>").sortable().sortable("destroy"); 80 ok(true, '.sortable("destroy") called on disconnected DOMElement'); 81 82 $("<div></div>").sortable().sortable("destroy").sortable("foo"); 83 ok(true, 'arbitrary method called after destroy'); 84 85 $("<div></div>").sortable().sortable("destroy").data("foo.sortable"); 86 ok(true, 'arbitrary option getter after destroy'); 87 88 $("<div></div>").sortable().sortable("destroy").data("foo.sortable", "bar"); 89 ok(true, 'arbitrary option setter after destroy'); 90 }); 91 92 test("enable", function() { 93 expect(4); 94 el = $("#sortable").sortable({ disabled: true }); 95 96 sort($("li", el)[0], 0, 40, 0, '.sortable({ disabled: true })'); 97 98 el.sortable("enable"); 99 equals(el.data("disabled.sortable"), false, "disabled.sortable getter"); 100 101 el.sortable("destroy"); 102 el.sortable({ disabled: true }); 103 el.data("disabled.sortable", false); 104 equals(el.data("disabled.sortable"), false, "disabled.sortable setter"); 105 106 sort($("li", el)[0], 0, 40, 2, '.data("disabled.sortable", false)'); 107 }); 108 109 test("disable", function() { 110 expect(5); 111 el = $("#sortable").sortable({ disabled: false }); 112 sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })'); 113 114 el.sortable("disable"); 115 sort($("li", el)[0], 0, 40, 0, 'disabled.sortable getter'); 116 117 el.sortable("destroy"); 118 119 el.sortable({ disabled: false }); 120 sort($("li", el)[0], 0, 40, 2, '.sortable({ disabled: false })'); 121 el.data("disabled.sortable", true); 122 equals(el.data("disabled.sortable"), true, "disabled.sortable setter"); 123 sort($("li", el)[0], 0, 40, 0, '.data("disabled.sortable", true)'); 124 }); 125 126 test("defaults", function() { 127 el = $('<div></div>').sortable(); 128 $.each(defaults, function(key, val) { 129 var actual = el.data(key + ".sortable"), expected = val; 130 same(actual, expected, key); 131 }); 132 el.remove(); 133 }); 134 135 test("#3019: Stop fires too early", function() { 136 137 var helper = null; 138 el = $("#sortable").sortable({ stop: function(event, ui) { 139 helper = ui.helper; 140 }}); 141 142 sort($("li", el)[0], 0, 40, 2, 'Dragging the sortable'); 143 equals(helper, null, "helper should be false"); 144 145 }); 146 147 148 })(jQuery);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |