[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

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

   1  /*

   2   * slider unit tests

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

   6  // Selectable Test Helper Functions

   7  //

   8  
   9  var defaults = {
  10      animate: false,
  11      axis: "???",
  12      handle: ".ui-slider-handle",
  13      handles: "???",
  14      disabled: false,
  15      max: 100,
  16      min: 0,
  17      range: false,
  18      startValue: "???",
  19      stepping: "???",
  20      steps: 0
  21  };
  22  
  23  var keyCodes = {
  24      leftArrow: 37,
  25      upArrow: 38,
  26      rightArrow: 39,
  27      downArrow: 40
  28  };
  29  
  30  $.each(keyCodes, function(key, val) {
  31      $.fn[key] = function() {
  32          return this.simulate("keydown", { keyCode: val });
  33      }
  34  });
  35  
  36  function assertChange(stepping, start, result, action) {
  37      return function() {
  38          expect(1);
  39          var slider = $("#slider3").slider({
  40              stepping: stepping,
  41              startValue: start,
  42              min: 0,
  43              max: 1000,
  44              change: function(event, ui) {
  45                  equals(ui.value, result, "changed to " + ui.value);
  46              }
  47          });
  48          action.apply(slider);
  49      }
  50  }
  51  
  52  // Slider Tests

  53  module("slider");
  54  
  55  test("init", function() {
  56      expect(6);
  57  
  58      $("<div></div>").appendTo('body').slider().remove();
  59      ok(true, '.slider() called on element');
  60  
  61      $([]).slider().remove();
  62      ok(true, '.slider() called on empty collection');
  63  
  64      $('<div></div>').slider().remove();
  65      ok(true, '.slider() called on disconnected DOMElement');
  66  
  67      $('<div></div>').slider().slider("foo").remove();
  68      ok(true, 'arbitrary method called after init');
  69  
  70      el = $('<div></div>').slider();
  71      var foo = el.data("foo.slider");
  72      el.remove();
  73      ok(true, 'arbitrary option getter after init');
  74  
  75      $('<div></div>').slider().data("foo.slider", "bar").remove();
  76      ok(true, 'arbitrary option setter after init');
  77  });
  78  
  79  test("destroy", function() {
  80      expect(6);
  81  
  82      $("<div></div>").appendTo('body').slider().slider("destroy").remove();
  83      ok(true, '.slider("destroy") called on element');
  84  
  85      $([]).slider().slider("destroy").remove();
  86      ok(true, '.slider("destroy") called on empty collection');
  87  
  88      $('<div></div>').slider().slider("destroy").remove();
  89      ok(true, '.slider("destroy") called on disconnected DOMElement');
  90  
  91      $('<div></div>').slider().slider("destroy").slider("foo").remove();
  92      ok(true, 'arbitrary method called after destroy');
  93  
  94      el = $('<div></div>').slider();
  95      var foo = el.slider("destroy").data("foo.slider");
  96      el.remove();
  97      ok(true, 'arbitrary option getter after destroy');
  98  
  99      $('<div></div>').slider().slider("destroy").data("foo.slider", "bar").remove();
 100      ok(true, 'arbitrary option setter after destroy');
 101  });
 102  
 103  test("defaults", function() {
 104      el = $('<div></div>').slider();
 105      $.each(defaults, function(key, val) {
 106          var actual = el.data(key + ".slider"), expected = val;
 107          same(actual, expected, key);
 108      });
 109      el.remove();
 110  });
 111  
 112  module("slider: single handle");
 113  
 114  test("change one step via keydown", assertChange(1, undefined, 1, function() {
 115      this.find("a").rightArrow();
 116  }))
 117  test("change - 10 steps via keydown", assertChange(10, 20, 10, function() {
 118      this.find("a").leftArrow();
 119  }))
 120  test("change +10 steps via keydown", assertChange(10, 20, 30, function() {
 121      this.find("a").rightArrow();
 122  }))
 123  
 124  test("moveTo, absolute value", assertChange(1, 1, 10, function() {
 125      this.slider("moveTo", 10);
 126  }))
 127  
 128  test("moveTo, absolute value as string", assertChange(1, 1, 10, function() {
 129      this.slider("moveTo", "10");
 130  }))
 131  
 132  test("moveTo, absolute value, below min", assertChange(1, 1, 0, function() {
 133      this.slider("moveTo", -10);
 134  }))
 135  
 136  test("moveTo, relative positive value", assertChange(1, 1, 11, function() {
 137      this.slider("moveTo", "+=10");
 138  }))
 139  
 140  test("moveTo, relative positive value, above max", assertChange(1, 10, 1000, function() {
 141      this.slider("moveTo", "+=2000");
 142  }))
 143  
 144  test("moveTo, relative negative value", assertChange(1, 20, 10, function() {
 145      this.slider("moveTo", "-=10");
 146  }))
 147  
 148  test("options update min/max", function() {
 149      expect(2);
 150      var slider = $("#slider3").slider({
 151          stepping: 1,
 152          startValue: 1
 153      });
 154      slider.slider("moveTo", "-=10");
 155      equals(slider.slider("value"), 0);
 156      slider.data("min.slider", -10);
 157      slider.slider("moveTo", "-=20");
 158      equals(slider.slider("value"), -10);
 159  })
 160  
 161  module("slider: setup and teardown");
 162  
 163  test("destroy and recreate", function() {
 164      expect(3)
 165      var slider = $("#slider3").slider();
 166      slider.slider("moveTo", "+=20");
 167      equals(slider.slider("value"), 20);
 168      slider.slider("destroy");
 169  
 170      slider.slider("moveTo", "+=30");
 171      ok(true, "nothing happens after slider is destroyed");
 172  
 173      slider.slider().slider("moveTo", "30");
 174  
 175      equals(Math.round(slider.slider("value")), 30);
 176  })
 177  
 178  test("handle creation", function() {
 179      var slider = $("#slider1");
 180      equals(slider.children().size(), 0);
 181      slider.slider({
 182          handles: [
 183              { start: 0 },
 184              { start: 10 }
 185          ]
 186      });
 187      equals(slider.children().size(), 2);
 188      var instance = $.data(slider[0], "slider")
 189      equals(instance.handle.length, 2);
 190      ok(instance.handle.jquery, "handle must be a jquery object")
 191  })
 192  
 193  })(jQuery);


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