[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/jquery_ui/jquery.ui.old/tests/ -> sortable.js (source)

   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);


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7