[improvement] rename packages dir to src (#3659)

This commit is contained in:
neverland
2019-06-27 11:25:57 +08:00
committed by GitHub
parent 8489918dca
commit 75c79b7044
619 changed files with 21 additions and 21 deletions
@@ -0,0 +1,389 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`renders demo correctly 1`] = `
<div>
<div class="van-tabs van-tabs--line">
<div class="van-tabs__wrap van-hairline--top-bottom">
<div role="tablist" class="van-tabs__nav van-tabs__nav--line">
<div role="tab" aria-selected="true" class="van-tab van-tab--active"><span class="van-ellipsis">基础用法</span></div>
<div role="tab" class="van-tab"><span class="van-ellipsis">自定义索引列表</span></div>
<div class="van-tabs__line" style="width: 0px; transform: translateX(0px) translateX(-50%);"></div>
</div>
</div>
<div class="van-tabs__content">
<div role="tabpanel" class="van-tab__pane" style="">
<div class="van-index-bar">
<div class="van-index-bar__sidebar" style="z-index: 1;"><span data-index="A" class="van-index-bar__index">A</span><span data-index="B" class="van-index-bar__index">B</span><span data-index="C" class="van-index-bar__index">C</span><span data-index="D" class="van-index-bar__index">D</span><span data-index="E" class="van-index-bar__index">E</span><span data-index="F" class="van-index-bar__index">F</span><span data-index="G" class="van-index-bar__index">G</span><span data-index="H" class="van-index-bar__index">H</span><span data-index="I" class="van-index-bar__index">I</span><span data-index="J" class="van-index-bar__index">J</span><span data-index="K" class="van-index-bar__index">K</span><span data-index="L" class="van-index-bar__index">L</span><span data-index="M" class="van-index-bar__index">M</span><span data-index="N" class="van-index-bar__index">N</span><span data-index="O" class="van-index-bar__index">O</span><span data-index="P" class="van-index-bar__index">P</span><span data-index="Q" class="van-index-bar__index">Q</span><span data-index="R" class="van-index-bar__index">R</span><span data-index="S" class="van-index-bar__index">S</span><span data-index="T" class="van-index-bar__index">T</span><span data-index="U" class="van-index-bar__index">U</span><span data-index="V" class="van-index-bar__index">V</span><span data-index="W" class="van-index-bar__index">W</span><span data-index="X" class="van-index-bar__index">X</span><span data-index="Y" class="van-index-bar__index">Y</span><span data-index="Z" class="van-index-bar__index">Z</span></div>
<div>
<div>
<div class="van-index-anchor">A</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">B</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">C</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">D</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">E</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">F</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">G</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">H</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">I</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">J</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">K</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">L</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">M</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">N</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">O</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">P</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">Q</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">R</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">S</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">T</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">U</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">V</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">W</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">X</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">Y</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
<div>
<div>
<div class="van-index-anchor">Z</div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
<div class="van-cell">
<div class="van-cell__title"><span>文本</span></div>
</div>
</div>
</div>
</div>
<div role="tabpanel" class="van-tab__pane" style="display: none;">
<!---->
</div>
</div>
</div>
</div>
`;
@@ -0,0 +1,49 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`custom anchor text 1`] = `
<div class="van-index-bar">
<div class="van-index-bar__sidebar" style="z-index: 1;"><span data-index="A" class="van-index-bar__index">A</span><span data-index="B" class="van-index-bar__index">B</span><span data-index="C" class="van-index-bar__index">C</span><span data-index="D" class="van-index-bar__index">D</span><span data-index="E" class="van-index-bar__index">E</span><span data-index="F" class="van-index-bar__index">F</span><span data-index="G" class="van-index-bar__index">G</span><span data-index="H" class="van-index-bar__index">H</span><span data-index="I" class="van-index-bar__index">I</span><span data-index="J" class="van-index-bar__index">J</span><span data-index="K" class="van-index-bar__index">K</span><span data-index="L" class="van-index-bar__index">L</span><span data-index="M" class="van-index-bar__index">M</span><span data-index="N" class="van-index-bar__index">N</span><span data-index="O" class="van-index-bar__index">O</span><span data-index="P" class="van-index-bar__index">P</span><span data-index="Q" class="van-index-bar__index">Q</span><span data-index="R" class="van-index-bar__index">R</span><span data-index="S" class="van-index-bar__index">S</span><span data-index="T" class="van-index-bar__index">T</span><span data-index="U" class="van-index-bar__index">U</span><span data-index="V" class="van-index-bar__index">V</span><span data-index="W" class="van-index-bar__index">W</span><span data-index="X" class="van-index-bar__index">X</span><span data-index="Y" class="van-index-bar__index">Y</span><span data-index="Z" class="van-index-bar__index">Z</span></div>
<div>
<div class="van-index-anchor">Title A</div>
</div>
<div>
<div class="van-index-anchor">Title B</div>
</div>
</div>
`;
exports[`scroll and update active anchor 1`] = `
<div class="van-index-bar">
<div class="van-index-bar__sidebar" style="z-index: 1;"><span data-index="A" class="van-index-bar__index">A</span><span data-index="B" class="van-index-bar__index">B</span><span data-index="C" class="van-index-bar__index">C</span><span data-index="D" class="van-index-bar__index">D</span><span data-index="E" class="van-index-bar__index">E</span><span data-index="F" class="van-index-bar__index">F</span><span data-index="G" class="van-index-bar__index">G</span><span data-index="H" class="van-index-bar__index">H</span><span data-index="I" class="van-index-bar__index">I</span><span data-index="J" class="van-index-bar__index">J</span><span data-index="K" class="van-index-bar__index">K</span><span data-index="L" class="van-index-bar__index">L</span><span data-index="M" class="van-index-bar__index">M</span><span data-index="N" class="van-index-bar__index">N</span><span data-index="O" class="van-index-bar__index">O</span><span data-index="P" class="van-index-bar__index">P</span><span data-index="Q" class="van-index-bar__index">Q</span><span data-index="R" class="van-index-bar__index">R</span><span data-index="S" class="van-index-bar__index">S</span><span data-index="T" class="van-index-bar__index">T</span><span data-index="U" class="van-index-bar__index">U</span><span data-index="V" class="van-index-bar__index">V</span><span data-index="W" class="van-index-bar__index">W</span><span data-index="X" class="van-index-bar__index">X</span><span data-index="Y" class="van-index-bar__index">Y</span><span data-index="Z" class="van-index-bar__index">Z</span></div>
<div data-index="0">
<div class="van-index-anchor">1</div>
</div>
<div data-index="1">
<div class="van-index-anchor">2</div>
</div>
<div data-index="2">
<div class="van-index-anchor">3</div>
</div>
<div data-index="3">
<div class="van-index-anchor">4</div>
</div>
</div>
`;
exports[`scroll and update active anchor 2`] = `
<div class="van-index-bar">
<div class="van-index-bar__sidebar" style="z-index: 1;"><span data-index="A" class="van-index-bar__index">A</span><span data-index="B" class="van-index-bar__index" style="color: rgb(7, 193, 96);">B</span><span data-index="C" class="van-index-bar__index">C</span><span data-index="D" class="van-index-bar__index">D</span><span data-index="E" class="van-index-bar__index">E</span><span data-index="F" class="van-index-bar__index">F</span><span data-index="G" class="van-index-bar__index">G</span><span data-index="H" class="van-index-bar__index">H</span><span data-index="I" class="van-index-bar__index">I</span><span data-index="J" class="van-index-bar__index">J</span><span data-index="K" class="van-index-bar__index">K</span><span data-index="L" class="van-index-bar__index">L</span><span data-index="M" class="van-index-bar__index">M</span><span data-index="N" class="van-index-bar__index">N</span><span data-index="O" class="van-index-bar__index">O</span><span data-index="P" class="van-index-bar__index">P</span><span data-index="Q" class="van-index-bar__index">Q</span><span data-index="R" class="van-index-bar__index">R</span><span data-index="S" class="van-index-bar__index">S</span><span data-index="T" class="van-index-bar__index">T</span><span data-index="U" class="van-index-bar__index">U</span><span data-index="V" class="van-index-bar__index">V</span><span data-index="W" class="van-index-bar__index">W</span><span data-index="X" class="van-index-bar__index">X</span><span data-index="Y" class="van-index-bar__index">Y</span><span data-index="Z" class="van-index-bar__index">Z</span></div>
<div data-index="0" style="height: 10px;">
<div class="van-index-anchor van-index-anchor--sticky van-hairline--bottom" style="transform: translate3d(0, 0px, 0); color: rgb(7, 193, 96); z-index: 1;">1</div>
</div>
<div data-index="1" style="height: 10px;">
<div class="van-index-anchor van-index-anchor--sticky van-hairline--bottom" style="transform: translate3d(0, 10px, 0); color: rgb(7, 193, 96); z-index: 1;">2</div>
</div>
<div data-index="2">
<div class="van-index-anchor">3</div>
</div>
<div data-index="3">
<div class="van-index-anchor">4</div>
</div>
</div>
`;
+4
View File
@@ -0,0 +1,4 @@
import Demo from '../demo';
import demoTest from '../../../test/demo-test';
demoTest(Demo);
+145
View File
@@ -0,0 +1,145 @@
import Vue from 'vue';
import IndexBar from '..';
import IndexAnchor from '../../index-anchor';
import { mount, trigger, triggerDrag } from '../../../test/utils';
Vue.use(IndexBar);
Vue.use(IndexAnchor);
function mockScrollIntoView() {
const fn = jest.fn();
Element.prototype.scrollIntoView = fn;
return fn;
}
function mockOffsetHeight(offsetHeight) {
Object.defineProperty(HTMLElement.prototype, 'offsetHeight', {
get() {
return offsetHeight;
}
});
}
test('custom anchor text', () => {
const wrapper = mount({
template: `
<van-index-bar>
<van-index-anchor index="A">Title A</van-index-anchor>
<van-index-anchor index="B">Title B</van-index-anchor>
</van-index-bar>
`
});
expect(wrapper).toMatchSnapshot();
});
test('click and scroll to anchor', () => {
const onSelect = jest.fn();
const wrapper = mount({
template: `
<van-index-bar @select="onSelect">
<van-index-anchor index="A" />
<van-index-anchor index="B" />
</van-index-bar>
`,
methods: {
onSelect
}
});
const fn = mockScrollIntoView();
const indexes = wrapper.findAll('.van-index-bar__index');
indexes.at(0).trigger('click');
expect(fn).toHaveBeenCalledTimes(1);
expect(onSelect).toHaveBeenCalledWith('A');
});
test('touch and scroll to anchor', () => {
const onSelect = jest.fn();
const wrapper = mount({
template: `
<van-index-bar @select="onSelect">
<van-index-anchor index="A" />
<van-index-anchor index="B" />
<van-index-anchor index="XXX" />
</van-index-bar>
`,
methods: {
onSelect
}
});
const fn = mockScrollIntoView();
const sidebar = wrapper.find('.van-index-bar__sidebar');
const indexes = wrapper.findAll('.van-index-bar__index');
document.elementFromPoint = function (x, y) {
const index = y / 100;
if (index === 1 || index === 2) {
return indexes.at(index).element;
}
if (index === 3) {
return {
dataset: {}
};
}
};
// horizontal drag
triggerDrag(sidebar, 100, 0);
expect(fn).toHaveBeenCalledTimes(0);
// vertical drag
trigger(sidebar, 'touchstart', 0, 0);
trigger(sidebar, 'touchmove', 0, 100);
trigger(sidebar, 'touchmove', 0, 200);
trigger(sidebar, 'touchmove', 0, 300);
trigger(sidebar, 'touchmove', 0, 400);
trigger(sidebar, 'touchend', 0, 400);
expect(fn).toHaveBeenCalledTimes(1);
expect(onSelect).toHaveBeenCalledWith('B');
});
test('scroll and update active anchor', () => {
const nativeRect = Element.prototype.getBoundingClientRect;
Element.prototype.getBoundingClientRect = function () {
const { index } = this.dataset;
return {
top: index ? index * 10 : 0
};
};
mockOffsetHeight(10);
const wrapper = mount({
template: `
<van-index-bar :sticky="sticky">
<van-index-anchor
v-for="index in 4"
:key="index"
:index="index"
:data-index="index - 1"
/>
</van-index-bar>
`,
data() {
return {
sticky: false
};
}
});
window.scrollTop = 0;
trigger(window, 'scroll');
expect(wrapper).toMatchSnapshot();
wrapper.setData({ sticky: true });
trigger(window, 'scroll');
expect(wrapper).toMatchSnapshot();
wrapper.vm.$destroy();
Element.prototype.getBoundingClientRect = nativeRect;
});