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);
}
}