r1178 - in branches/dev/slider: tests ui

r1178 - in branches/dev/slider: tests ui


Author: rdworth
Date: Fri Dec 19 05:28:09 2008
New Revision: 1178
Modified:
branches/dev/slider/tests/slider.js
branches/dev/slider/ui/ui.slider.js
Log:
/branches/dev/slider: slider refactor for #3650
- changed UP/RIGHT to increase value, DOWN/LEFT to decrease value,
regardless of orientation
Modified: branches/dev/slider/tests/slider.js
==============================================================================
--- branches/dev/slider/tests/slider.js    (original)
+++ branches/dev/slider/tests/slider.js    Fri Dec 19 05:28:09 2008
@@ -14,7 +14,7 @@
    value: 0
};
-var el;
+var el, options;
function handle() {
    return el.find(".ui-slider-handle");
@@ -91,22 +91,42 @@
module("slider");
test("keydown HOME on handle sets value to min", function() {
-    el = $('<div></div>').slider({ value: 50 });
+    el = $('<div></div>');
+    options = {
+        max: 5,
+        min: -5,
+        orientation: 'horizontal',
+        step: 1
+    };
+    el.slider(options);
+
+    el.slider("value", 0);
+
    handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
-    equals(el.slider('value'), el.slider("option", "min"));
-    el.slider('destroy');    
-});
+    equals(el.slider("value"), options.min);
-test("keydown END on handle sets value to max", function() {
-    el = $('<div></div>').slider({ value: 50 });
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
-    equals(el.slider('value'), el.slider("option", "max"));
    el.slider('destroy');    
+
+    el = $('<div></div>');
+    options = {
+        max: 5,
+        min: -5,
+        orientation: 'vertical',
+        step: 1
+    };
+    el.slider(options);
+
+    el.slider("value", 0);
+
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
+    equals(el.slider("value"), options.min);
+
+    el.slider('destroy');
});
-test("horizontal slider - keydown RIGHT on handle increases value by step,
not greater than max", function() {
+test("keydown END on handle sets value to max", function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
        orientation: 'horizontal',
@@ -114,20 +134,33 @@
    };
    el.slider(options);
-    el.slider("value", options.max - options.step);
+    el.slider("value", 0);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
    equals(el.slider("value"), options.max);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+    el.slider('destroy');    
+
+    el = $('<div></div>');
+    options = {
+        max: 5,
+        min: -5,
+        orientation: 'vertical',
+        step: 1
+    };
+    el.slider(options);
+
+    el.slider("value", 0);
+
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
    equals(el.slider("value"), options.max);
-    el.slider("destroy");    
+    el.slider('destroy');
});
-test("horizontal slider - keydown LEFT on handle decreases value by step,
not less than min", function() {
+test("keydown UP on handle increases value by step, not greater than max",
function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
        orientation: 'horizontal',
@@ -135,74 +168,58 @@
    };
    el.slider(options);
-    el.slider("value", options.min + options.step);
+    el.slider("value", options.max - options.step);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
-    equals(el.slider("value"), options.min);
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+    equals(el.slider("value"), options.max);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
-    equals(el.slider("value"), options.min);
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+    equals(el.slider("value"), options.max);
    el.slider("destroy");    
-});
-test("horizontal slider - keydown UP/DOWN on handle does not change
value", function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
-        orientation: 'horizontal',
-        step: 1,
-        value: 0
+        orientation: 'vertical',
+        step: 1
    };
    el.slider(options);
+    el.slider("value", options.max - options.step);
+
    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
-    equals(el.slider("value"), options.value);
+    equals(el.slider("value"), options.max);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
-    equals(el.slider("value"), options.value);
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+    equals(el.slider("value"), options.max);
    el.slider("destroy");    
});
-test("horizontal slider disabled - keydown UP/DOWN/LEFT/RIGHT/HOME/END on
handle does not change value", function() {
+test("keydown RIGHT on handle increases value by step, not greater than
max", function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
        orientation: 'horizontal',
-        step: 1,
-        value: 0
+        step: 1
    };
    el.slider(options);
-    el.slider("disable");
-
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
-    equals(el.slider("value"), options.value);
-
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
-    equals(el.slider("value"), options.value);
-
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
-    equals(el.slider("value"), options.value);
+    el.slider("value", options.max - options.step);
    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
-    equals(el.slider("value"), options.value);
-
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
-    equals(el.slider("value"), options.value);
+    equals(el.slider("value"), options.max);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
-    equals(el.slider("value"), options.value);
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
+    equals(el.slider("value"), options.max);
    el.slider("destroy");    
-});
-test("vertical slider - keydown UP on handle increases value by step, not
greater than max", function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
        orientation: 'vertical',
@@ -212,21 +229,21 @@
    el.slider("value", options.max - options.step);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
    equals(el.slider("value"), options.max);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
    equals(el.slider("value"), options.max);
    el.slider("destroy");    
});
-test("vertical slider - keydown DOWN on handle decreases value by step,
not less than min", function() {
+test("keydown DOWN on handle decreases value by step, not less than min",
function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
-        orientation: 'vertical',
+        orientation: 'horizontal',
        step: 1
    };
    el.slider(options);
@@ -240,58 +257,63 @@
    equals(el.slider("value"), options.min);
    el.slider("destroy");    
-});
-test("vertical slider - keydown LEFT/RIGHT on handle does not change
value", function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
        orientation: 'vertical',
-        step: 1,
-        value: 0
+        step: 1
    };
    el.slider(options);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
-    equals(el.slider("value"), options.value);
+    el.slider("value", options.min + options.step);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
-    equals(el.slider("value"), options.value);
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
+    equals(el.slider("value"), options.min);
+
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
+    equals(el.slider("value"), options.min);
    el.slider("destroy");    
});
-test("vertical slider disabled - keydown UP/DOWN/LEFT/RIGHT/HOME/END on
handle does not change value", function() {
+test("keydown LEFT on handle decreases value by step, not less than min",
function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 5,
        min: -5,
-        orientation: 'vertical',
-        step: 1,
-        value: 0
+        orientation: 'horizontal',
+        step: 1
    };
    el.slider(options);
-    el.slider("disable");
-
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.UP });
-    equals(el.slider("value"), options.value);
+    el.slider("value", options.min + options.step);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
-    equals(el.slider("value"), options.value);
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+    equals(el.slider("value"), options.min);
    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
-    equals(el.slider("value"), options.value);
+    equals(el.slider("value"), options.min);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.RIGHT });
-    equals(el.slider("value"), options.value);
+    el.slider("destroy");    
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
-    equals(el.slider("value"), options.value);
+    el = $('<div></div>');
+    options = {
+        max: 5,
+        min: -5,
+        orientation: 'vertical',
+        step: 1
+    };
+    el.slider(options);
-    handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
-    equals(el.slider("value"), options.value);
+    el.slider("value", options.min + options.step);
+
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+    equals(el.slider("value"), options.min);
+
+    handle().simulate("keydown", { keyCode: $.ui.keyCode.LEFT });
+    equals(el.slider("value"), options.min);
    el.slider("destroy");    
});
@@ -301,7 +323,7 @@
test("orientation", function() {
    el = $('<div></div>');
-    var options = {
+    options = {
        max: 2,
        min: -2,
        orientation: 'vertical',
@@ -317,7 +339,7 @@
    el.slider('destroy');
-    var options = {
+    options = {
        max: 2,
        min: -2,
        orientation: 'horizontal',
@@ -338,7 +360,7 @@
test("max", function() {
    el = $('<div></div>');
    
-    var options = {
+    options = {
        max: 37,
        min: 6,
        orientation: 'horizontal',
@@ -356,7 +378,7 @@
test("min", function() {
    el = $('<div></div>');
    
-    var options = {
+    options = {
        max: 37,
        min: 6,
        orientation: 'vertical',
Modified: branches/dev/slider/ui/ui.slider.js
==============================================================================
--- branches/dev/slider/ui/ui.slider.js    (original)
+++ branches/dev/slider/ui/ui.slider.js    Fri Dec 19 05:28:09 2008
@@ -37,21 +37,16 @@
                case $.ui.keyCode.HOME:
                    self._setData('value', self._valueMin());
                    break;
-                case $.ui.keyCode.LEFT:
-                    (self.options.orientation == 'horizontal') && self._setData('value',
self.value() - self._step());
+                case $.ui.keyCode.END:
+                    self._setData('value', self._valueMax());
                    break;
                case $.ui.keyCode.UP:
-                    (self.options.orientation == 'vertical') && self._setData('value',
self.value() + self._step());
-                    break;
                case $.ui.keyCode.RIGHT:
-                    (self.options.orientation == 'horizontal') && self._setData('value',
self.value() + self._step());
+                    self._setData('value', self.value() + self._step());
                    break;
                case $.ui.keyCode.DOWN:
-                    (self.options.orientation == 'vertical') && self._setData('value',
self.value() - self._step());
-                    break;
-                case $.ui.keyCode.END:
-                    self._setData('value', self._valueMax());
-                    break;
+                case $.ui.keyCode.LEFT:
+                    self._setData('value', self.value() - self._step());
            }
        });