Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如何使用Jest测试Nuxt应用程序中的水平滚动?_Vue.js_Scroll_Jestjs_Horizontal Scrolling - Fatal编程技术网

Vue.js 如何使用Jest测试Nuxt应用程序中的水平滚动?

Vue.js 如何使用Jest测试Nuxt应用程序中的水平滚动?,vue.js,scroll,jestjs,horizontal-scrolling,Vue.js,Scroll,Jestjs,Horizontal Scrolling,我正在做一个在主页上使用水平滚动的项目,我的任务是创建一个测试来验证水平滚动是否正常工作。这是页面/组件 <div> <p> Home: Placeholder text until we replace this with some content horizontally scrollable. </p> </div> </template> <script> import

我正在做一个在主页上使用水平滚动的项目,我的任务是创建一个测试来验证水平滚动是否正常工作。这是页面/组件

<div>
    <p>
      Home: Placeholder text until we replace this with some content
      horizontally scrollable.
    </p>
  </div>
</template>

<script>
import {
  scrollHorizontally,
  enableCustomScrolling,
  disableCustomScrolling
} from '~/helpers';

export default {
  beforeMount() {
    enableCustomScrolling(scrollHorizontally);
  },
  beforeDestroy() {
    disableCustomScrolling(scrollHorizontally);
  }
};
</script>

知道如何测试吗?

测试可能取决于
水平滚动
启用自定义滚动
禁用自定义滚动
的实现。你能给我看看吗?哦!当然,对不起。这是助手。
import { SCROLL_SPEED } from '~/constants';

export function scrollHorizontally(event) {
  event = window.event || event;
  const delta = Math.max(-1, Math.min(1, event.wheelDelta || -event.detail));
  document.documentElement.scrollLeft -= delta * SCROLL_SPEED;
  document.body.scrollLeft -= delta * SCROLL_SPEED;
  event.preventDefault();
}

export function enableCustomScrolling(onScroll) {
  if (window.addEventListener) {
    // IE9, Chrome, Safari, Opera
    window.addEventListener('mousewheel', onScroll);
    // Firefox
    window.addEventListener('DOMMouseScroll', onScroll);
  } else {
    // IE 6/7/8
    window.attachEvent('onmousewheel', onScroll);
  }
}

export function disableCustomScrolling(onScroll) {
  if (window.removeEventListener) {
    // IE9, Chrome, Safari, Opera
    window.removeEventListener('mousewheel', onScroll);
    // Firefox
    window.removeEventListener('DOMMouseScroll', onScroll);
  } else {
    // IE 6/7/8
    window.detachEvent('onmousewheel', onScroll);
  }
}