slider unit tests: created separate file for each module: core, common widget, events, methods, options, tickets

This commit is contained in:
Richard Worth 2009-02-02 05:58:49 +00:00
parent 8735354b10
commit c3046b9d79
7 changed files with 187 additions and 96 deletions

View File

@ -12,7 +12,12 @@
<script type="text/javascript" src="../../../external/qunit/testrunner.js"></script> <script type="text/javascript" src="../../../external/qunit/testrunner.js"></script>
<script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script> <script type="text/javascript" src="../../../external/simulate/jquery.simulate.js"></script>
<script type="text/javascript" src="slider.js"></script> <script type="text/javascript" src="slider_core.js"></script>
<script type="text/javascript" src="slider_defaults.js"></script>
<script type="text/javascript" src="slider_events.js"></script>
<script type="text/javascript" src="slider_methods.js"></script>
<script type="text/javascript" src="slider_options.js"></script>
<script type="text/javascript" src="slider_tickets.js"></script>
</head> </head>
<body> <body>

View File

@ -6,14 +6,6 @@
// Slider Test Helper Functions // Slider Test Helper Functions
// //
var defaults = {
max: 100,
min: 0,
orientation: 'auto',
step: 1,
value: 0
};
var el, options; var el, options;
function handle() { function handle() {
@ -21,7 +13,7 @@ function handle() {
} }
// Slider Tests // Slider Tests
module("slider"); module("slider: core");
test("init", function() { test("init", function() {
expect(6); expect(6);
@ -79,17 +71,6 @@ test("destroy", function() {
ok(true, 'arbitrary option setter (.slider option method) after destroy'); ok(true, 'arbitrary option setter (.slider option method) after destroy');
}); });
test("defaults", function() {
el = $('<div></div>').slider();
$.each(defaults, function(key, val) {
var actual = el.data(key + ".slider"), expected = val;
same(actual, expected, key);
});
el.remove();
});
module("slider");
test("keydown HOME on handle sets value to min", function() { test("keydown HOME on handle sets value to min", function() {
el = $('<div></div>'); el = $('<div></div>');
options = { options = {
@ -318,79 +299,4 @@ test("keydown LEFT on handle decreases value by step, not less than min", functi
el.slider("destroy"); el.slider("destroy");
}); });
module("slider: Options");
test("orientation", function() {
el = $('<div></div>');
options = {
max: 2,
min: -2,
orientation: 'vertical',
value: 1
};
var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
el.slider(options).slider("option", "orientation", "horizontal");
ok(el.is('.ui-slider-horizontal'), "horizontal slider has class .ui-slider-horizontal");
ok(!el.is('.ui-slider-vertical'), "horizontal slider does not have class .ui-slider-vertical");
equals(handle().css('left'), percentVal + '%', "horizontal slider handle is positioned with left: %");
el.slider('destroy');
options = {
max: 2,
min: -2,
orientation: 'horizontal',
value: -1
};
var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
el.slider(options).slider("option", "orientation", "vertical");
ok(el.is('.ui-slider-vertical'), "vertical slider has class .ui-slider-vertical");
ok(!el.is('.ui-slider-horizontal'), "vertical slider does not have class .ui-slider-horizontal");
equals(handle().css('bottom'), percentVal + '%', "vertical slider handle is positioned with bottom: %");
el.slider('destroy');
});
test("max", function() {
el = $('<div></div>');
options = {
max: 37,
min: 6,
orientation: 'horizontal',
step: 1,
value: 50
};
el.slider(options);
ok(el.slider("option", "value") == options.value, "value option is not contained by max");
ok(el.slider("value") == options.max, "value method is contained by max");
el.slider('destroy');
});
test("min", function() {
el = $('<div></div>');
options = {
max: 37,
min: 6,
orientation: 'vertical',
step: 1,
value: 2
};
el.slider(options);
ok(el.slider("option", "value") == options.value, "value option is not contained by min");
ok(el.slider("value") == options.min, "value method is contained by min");
el.slider('destroy');
});
})(jQuery); })(jQuery);

View File

@ -0,0 +1,19 @@
/*
* slider_defaults.js
*/
var slider_defaults = {
animate: false,
delay: 0,
disabled: false,
distance: 0,
max: 100,
min: 0,
orientation: 'auto',
range: false,
step: 1,
value: 0,
values: null
};
commonWidgetTests('slider', { defaults: slider_defaults });

View File

@ -0,0 +1,24 @@
/*
* slider_events.js
*/
(function($) {
module("slider: events");
test("start", function() {
ok(false, "missing test - untested code is broken code.");
});
test("slide", function() {
ok(false, "missing test - untested code is broken code.");
});
test("change", function() {
ok(false, "missing test - untested code is broken code.");
});
test("stop", function() {
ok(false, "missing test - untested code is broken code.");
});
})(jQuery);

View File

@ -0,0 +1,24 @@
/*
* slider_methods.js
*/
(function($) {
module("slider: methods");
test("value", function() {
ok(false, "missing test - untested code is broken code.");
});
test("values", function() {
ok(false, "missing test - untested code is broken code.");
});
test("enable", function() {
ok(false, "missing test - untested code is broken code.");
});
test("disable", function() {
ok(false, "missing test - untested code is broken code.");
});
})(jQuery);

View File

@ -0,0 +1,105 @@
/*
* slider_options.js
*/
(function($) {
function handle() {
return el.find(".ui-slider-handle");
}
module("slider: options");
test("animate", function() {
ok(false, "missing test - untested code is broken code.");
});
test("max", function() {
el = $('<div></div>');
options = {
max: 37,
min: 6,
orientation: 'horizontal',
step: 1,
value: 50
};
el.slider(options);
ok(el.slider("option", "value") == options.value, "value option is not contained by max");
ok(el.slider("value") == options.max, "value method is contained by max");
el.slider('destroy');
});
test("min", function() {
el = $('<div></div>');
options = {
max: 37,
min: 6,
orientation: 'vertical',
step: 1,
value: 2
};
el.slider(options);
ok(el.slider("option", "value") == options.value, "value option is not contained by min");
ok(el.slider("value") == options.min, "value method is contained by min");
el.slider('destroy');
});
test("orientation", function() {
el = $('<div></div>');
options = {
max: 2,
min: -2,
orientation: 'vertical',
value: 1
};
var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
el.slider(options).slider("option", "orientation", "horizontal");
ok(el.is('.ui-slider-horizontal'), "horizontal slider has class .ui-slider-horizontal");
ok(!el.is('.ui-slider-vertical'), "horizontal slider does not have class .ui-slider-vertical");
equals(handle().css('left'), percentVal + '%', "horizontal slider handle is positioned with left: %");
el.slider('destroy');
options = {
max: 2,
min: -2,
orientation: 'horizontal',
value: -1
};
var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
el.slider(options).slider("option", "orientation", "vertical");
ok(el.is('.ui-slider-vertical'), "vertical slider has class .ui-slider-vertical");
ok(!el.is('.ui-slider-horizontal'), "vertical slider does not have class .ui-slider-horizontal");
equals(handle().css('bottom'), percentVal + '%', "vertical slider handle is positioned with bottom: %");
el.slider('destroy');
});
test("range", function() {
ok(false, "missing test - untested code is broken code.");
});
test("step", function() {
ok(false, "missing test - untested code is broken code.");
});
test("value", function() {
ok(false, "missing test - untested code is broken code.");
});
test("values", function() {
ok(false, "missing test - untested code is broken code.");
});
})(jQuery);

View File

@ -0,0 +1,8 @@
/*
* slider_tickets.js
*/
(function($) {
module("slider: tickets");
})(jQuery);