Skip to content
Snippets Groups Projects
OrientationSpec.js 2.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • Laura Cappelli's avatar
    Laura Cappelli committed
    describe("Orientation Tests", function() {
      var testSlider;
      var sliderHandleTopPos;
      var sliderHandleLeftPos;
    
      describe("Vertical", function() {
        beforeEach(function() {
          testSlider = new Slider("#orientationSlider", {
            id: "orientationSliderId",
            orientation: "vertical",
            min: 0,
            max: 10,
            value: 5
          });
    
          var sliderHandleEl = document.querySelector("#orientationSliderId .slider-handle");
          var sliderHandleBoundingBoxInfo = sliderHandleEl.getBoundingClientRect();
          sliderHandleTopPos = sliderHandleBoundingBoxInfo.top;
          sliderHandleLeftPos = sliderHandleBoundingBoxInfo.left;
        });
    
        afterEach(function() {
          if(testSlider) {
            testSlider.destroy();
          }
        });
    
        it("slides up when handle moves upwards", function() {
          var mousemove = document.createEvent('MouseEvents');
          var mousemoveX = sliderHandleLeftPos;
          var mousemoveY = sliderHandleTopPos - 100;      
          var newSliderValue;
          
          mousemove.initMouseEvent(
            "mousedown",
            true /* bubble */,
            true  /* cancelable */,
            window,
            null,
            0, 0, mousemoveX, mousemoveY, /* coordinates */
            false, false, false, false, /* modifier keys */
            0 /*left*/,
            null
          );
          testSlider.sliderElem.dispatchEvent(mousemove);
          newSliderValue = testSlider.getValue();
    
          expect(newSliderValue).toBeLessThan(5);
        });
    
        it("slides down when handle moves downwards", function() {
          var mousemove = document.createEvent('MouseEvents');
          var mousemoveX = sliderHandleLeftPos;
          var mousemoveY = sliderHandleTopPos + 100;
          var newSliderValue;
          
          mousemove.initMouseEvent(
            "mousedown",
            true /* bubble */,
            true /* cancelable */,
            window,
            null,
            0, 0, mousemoveX, mousemoveY, /* coordinates */
            false, false, false, false, /* modifier keys */
            0 /*left*/,
            null
          );
          testSlider.sliderElem.dispatchEvent(mousemove);
          newSliderValue = testSlider.getValue();
    
          expect(newSliderValue).toBeGreaterThan(5);
        });
      });
    
    }); // End of spec