1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- *************************
- Logarithmic Scale Tests
- *************************
- */
- describe("Slider with logarithmic scale tests", function() {
- var testSlider;
- describe("Should properly position the slider", function() {
- function testSliderPosition(min, max, value){
- testSlider = $("#testSlider1").slider({
- min: min,
- max: max,
- scale: 'logarithmic',
- value: value // This should be at 50%
- });
- var expectedPostition = 210 / 2 + 'px';
- var handle = $("#testSlider1").prev('div.slider').find('.min-slider-handle');
- expect(handle.css('left')).toBe(expectedPostition);
- }
- it("with positive values", function() {
- testSliderPosition(1, 10000, 100);
- });
- it("with zero", function() {
- testSliderPosition(0, 63, 7);
- });
- it("with a negative value", function() {
- testSliderPosition(-7, 56, 0);
- });
- });
- it("Should properly position the tick marks", function() {
- testSlider = $("#testSlider1").slider({
- min: 1,
- max: 100,
- scale: 'logarithmic',
- ticks: [1,10,20,50,100]
- });
- // Position expected for the '10' tick
- var expectedTickOnePosition = 210 / 2 + 'px'; //should be at 50%
- var handle = $("#testSlider1").prev('div.slider').find(".slider-tick").eq(1);
- expect(handle.css('left')).toBe(expectedTickOnePosition);
- });
- it("Should use step size when navigating the keyboard", function() {
- testSlider = $("#testSlider1").slider({
- min: 1,
- max: 10000,
- scale: 'logarithmic',
- value: 100,
- step: 5
- });
- // Focus on handle1
- var handle1 = $("#testSlider1").prev('div.slider').find('.slider-handle');
- handle1.focus();
- // Create keyboard event
- var keyboardEvent = document.createEvent("Events");
- keyboardEvent.initEvent("keydown", true, true);
- var keyPresses = 0;
- handle1.on("keydown", function() {
- keyPresses++;
- var value = $("#testSlider1").slider('getValue');
- expect(value).toBe(100 + keyPresses*5);
- });
- keyboardEvent.keyCode = keyboardEvent.which = 39; // RIGHT
- for (var i = 0; i < 5; i++) {
- handle1[0].dispatchEvent(keyboardEvent);
- }
- });
- afterEach(function() {
- if(testSlider) {
- testSlider.slider('destroy');
- testSlider = null;
- }
- });
- });
|