Skip to content
Snippets Groups Projects
TooltipMouseOverOptionSpec.js 2.23 KiB
Newer Older
  • Learn to ignore specific revisions
  • Laura Cappelli's avatar
    Laura Cappelli committed
    describe("'ticks_tooltip' Option tests", function() {
    	var testSlider;
    	describe("ticks_tooltip states", function() {
            it("should have the tooltip above the last hovered over element", function() {
                testSlider = new Slider(document.getElementById("testSlider1"), {
    				ticks: [0, 1, 2, 3, 4, 5, 6],
    				ticks_positions: [0, 19, 29, 39, 49, 95, 100],
    				step: 1,
    				value: 4,
                    ticks_tooltip: true,
                    orientation: 'horizontal'
    			});
    			var mouseEventArguments = [
    				'mousemove', // type
    				true, // canBubble
    				true, // cancelable
    				document, // view,
    				0, // detail
    				0, // screenX
    				0, // screenY
    				undefined, // clientX
    				testSlider.sliderElem.offsetTop, // clientY,
    				false, // ctrlKey
    				false, // altKey
    				false, // shiftKey
    				false, // metaKey,
    				0, // button
    				null // relatedTarget
    			];
    			var mouse49 = document.createEvent('MouseEvents');
    			mouseEventArguments[7] = testSlider.ticks[4].offsetLeft + testSlider.sliderElem.offsetLeft; // clientX
    			mouse49.initMouseEvent.apply(mouse49, mouseEventArguments);
    			var mouse95 = document.createEvent('MouseEvents');
    			mouseEventArguments[7] = testSlider.ticks[5].offsetLeft + testSlider.sliderElem.offsetLeft; // clientX
    			mouse95.initMouseEvent.apply(mouse95, mouseEventArguments);
    			var mouse100 = document.createEvent('MouseEvents');
    			mouseEventArguments[7] = testSlider.ticks[6].offsetLeft + testSlider.sliderElem.offsetLeft; // clientX
    			mouse100.initMouseEvent.apply(mouse100, mouseEventArguments);
    			var mouseStart = document.createEvent('MouseEvents');
    			mouseEventArguments[7] = testSlider.ticks[0].offsetLeft + testSlider.sliderElem.offsetLeft; // clientX
    			mouseStart.initMouseEvent.apply(mouseStart, mouseEventArguments);
    
    			//Simulate random movements
    			testSlider.mousedown(mouse49);
    			testSlider.mousemove(mouse95);
    			testSlider.mouseup();
    			testSlider.mousedown(mouse49);
    			testSlider.mousemove(mouse100);
    			testSlider.mousemove(mouse95);
    			testSlider.mousemove(mouse95);
    			testSlider.mousemove(mouseStart);
                expect(testSlider.tooltip.style.left).toBe("0%");
    		});
    	});
    	afterEach(function() {
    		if(testSlider) {
    			if(testSlider instanceof Slider) { testSlider.destroy(); }
    			testSlider = null;
    		}
    	});
    });