[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

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

   1  /*

   2   * selectable unit tests

   3   */
   4  (function($) {
   5  //

   6  // Selectable Test Helper Functions

   7  //

   8  
   9  var defaults = {
  10      autoRefresh: true,
  11      disabled: false,
  12      filter: '*'
  13  };
  14  
  15  var el;
  16  
  17  var drag = function(dx, dy) {
  18      var off = el.offset(), pos = { clientX: off.left, clientY: off.top };
  19      el.simulate("mousedown", pos);
  20      $(document).simulate("mousemove", pos);
  21      pos.clientX += dx;
  22      pos.clientY += dy;
  23      $(document).simulate("mousemove", pos);
  24      $(document).simulate("mouseup", pos);
  25  }
  26  
  27  var border = function(el, side) { return parseInt(el.css('border-' + side + '-width')); }
  28  
  29  var margin = function(el, side) { return parseInt(el.css('margin-' + side)); }
  30  
  31  // Selectable Tests

  32  module("selectable");
  33  
  34  test("init", function() {
  35      expect(6);
  36  
  37      $("<div></div>").appendTo('body').selectable().remove();
  38      ok(true, '.selectable() called on element');
  39  
  40      $([]).selectable().remove();
  41      ok(true, '.selectable() called on empty collection');
  42  
  43      $("<div></div>").selectable().remove();
  44      ok(true, '.selectable() called on disconnected DOMElement');
  45  
  46      $("<div></div>").selectable().selectable("foo").remove();
  47      ok(true, 'arbitrary method called after init');
  48  
  49      el = $("<div></div>").selectable()
  50      var foo = el.data("foo.selectable");
  51      el.remove();
  52      ok(true, 'arbitrary option getter after init');
  53  
  54      $("<div></div>").selectable().data("foo.selectable", "bar").remove();
  55      ok(true, 'arbitrary option setter after init');
  56  });
  57  
  58  test("destroy", function() {
  59      expect(6);
  60  
  61      $("<div></div>").appendTo('body').selectable().selectable("destroy").remove();
  62      ok(true, '.selectable("destroy") called on element');
  63  
  64      $([]).selectable().selectable("destroy").remove();
  65      ok(true, '.selectable("destroy") called on empty collection');
  66  
  67      $("<div></div>").selectable().selectable("destroy").remove();
  68      ok(true, '.selectable("destroy") called on disconnected DOMElement');
  69  
  70      $("<div></div>").selectable().selectable("destroy").selectable("foo").remove();
  71      ok(true, 'arbitrary method called after destroy');
  72  
  73      el = $("<div></div>").selectable();
  74      var foo = el.selectable("destroy").data("foo.selectable");
  75      el.remove();
  76      ok(true, 'arbitrary option getter after destroy');
  77  
  78      $("<div></div>").selectable().selectable("destroy").data("foo.selectable", "bar").remove();
  79      ok(true, 'arbitrary option setter after destroy');
  80  });
  81  
  82  test("defaults", function() {
  83      el = $('<div></div>').selectable();
  84      $.each(defaults, function(key, val) {
  85          var actual = el.data(key + ".selectable"), expected = val;
  86          same(actual, expected, key);
  87      });
  88      el.remove();
  89  });
  90  
  91  module("selectable: Options");
  92  
  93  test("autoRefresh", function() {
  94      expect(3);
  95      el = $("#selectable1");
  96      var actual, sel = $("*", el), selected = function() { actual += 1 };
  97  
  98      actual = 0;
  99      el = $("#selectable1").selectable({ autoRefresh: false,    selected: selected });
 100      sel.hide();
 101      drag(1000, 1000);
 102      equals(actual, sel.length);
 103      el.selectable("destroy");
 104  
 105      actual = 0;
 106      sel.show();
 107      el = $("#selectable1").selectable({ autoRefresh: true,    selected: selected });
 108      sel.hide();
 109      drag(1000, 1000);
 110      equals(actual, 0);
 111      sel.show();
 112      drag(1000, 1000);
 113      equals(actual, sel.length);
 114      el.selectable("destroy");
 115      sel.show();
 116  });
 117  
 118  test("filter", function() {
 119      expect(2);
 120      el = $("#selectable1");
 121      var actual, sel = $("*", el), selected = function() { actual += 1 };
 122  
 123      actual = 0;
 124      el = $("#selectable1").selectable({ filter: '.special', selected: selected });
 125      drag(1000, 1000);
 126      ok(sel.length != 1, "this test assumes more than 1 selectee");
 127      equals(actual, 1);
 128      el.selectable("destroy");
 129  });
 130  
 131  module("selectable: Methods");
 132  
 133  test("disable", function() {
 134      expect(2);
 135      var fired = false;
 136  
 137      el = $("#selectable1");
 138      el.selectable({
 139          disabled: false,
 140          start: function() { fired = true; }
 141      });
 142      el.simulate("drag", 20, 20);
 143      equals(fired, true, "start fired");
 144      el.selectable("disable");
 145      fired = false;
 146      el.simulate("drag", 20, 20);
 147      equals(fired, false, "start fired");
 148      el.selectable("destroy");
 149  });
 150  
 151  test("enable", function() {
 152      expect(2);
 153      var fired = false;
 154  
 155      el = $("#selectable1");
 156      el.selectable({
 157          disabled: true,
 158          start: function() { fired = true; }
 159      });
 160      el.simulate("drag", 20, 20);
 161      equals(fired, false, "start fired");
 162      el.selectable("enable");
 163      el.simulate("drag", 20, 20);
 164      equals(fired, true, "start fired");
 165      el.selectable("destroy");
 166  });
 167  
 168  module("selectable: Callbacks");
 169  
 170  test("start", function() {
 171      expect(2);
 172      el = $("#selectable1");
 173      el.selectable({
 174          start: function(ev, ui) {
 175              ok(true, "drag fired start callback");
 176              equals(this, el[0], "context of callback");
 177          }
 178      });
 179      el.simulate("drag", 20, 20);
 180  });
 181  
 182  test("stop", function() {
 183      expect(2);
 184      el = $("#selectable1");
 185      el.selectable({
 186          start: function(ev, ui) {
 187              ok(true, "drag fired stop callback");
 188              equals(this, el[0], "context of callback");
 189          }
 190      });
 191      el.simulate("drag", 20, 20);
 192  });
 193  
 194  module("selectable: Tickets");
 195  
 196  })(jQuery);


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