[improvement] rename packages dir to src (#3659)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
// 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-pull-refresh">
|
||||
<div class="van-pull-refresh__track" style="transition: 0ms;">
|
||||
<div class="van-pull-refresh__head"></div>
|
||||
<div role="feed" class="van-list">
|
||||
<div class="van-list__placeholder"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div role="tabpanel" class="van-tab__pane" style="display: none;">
|
||||
<!---->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
@@ -0,0 +1,4 @@
|
||||
import Demo from '../demo';
|
||||
import demoTest from '../../../test/demo-test';
|
||||
|
||||
demoTest(Demo);
|
||||
@@ -0,0 +1,153 @@
|
||||
import List from '..';
|
||||
import { mount, later, mockGetBoundingClientRect } from '../../../test/utils';
|
||||
|
||||
function mockOffsetParent(el) {
|
||||
Object.defineProperty(el, 'offsetParent', {
|
||||
get() {
|
||||
return {};
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
test('load event', async () => {
|
||||
const wrapper = mount(List);
|
||||
|
||||
wrapper.vm.$on('input', value => {
|
||||
wrapper.vm.loading = value;
|
||||
});
|
||||
|
||||
mockOffsetParent(wrapper.vm.$el);
|
||||
|
||||
await later();
|
||||
expect(wrapper.emitted('load')).toBeTruthy();
|
||||
expect(wrapper.emitted('input')).toBeTruthy();
|
||||
|
||||
wrapper.vm.loading = false;
|
||||
|
||||
await later();
|
||||
expect(wrapper.emitted('input')[1]).toBeTruthy();
|
||||
wrapper.destroy();
|
||||
});
|
||||
|
||||
test('error loaded, click error-text and reload', async () => {
|
||||
const wrapper = mount(List, {
|
||||
propsData: {
|
||||
errorText: 'Request failed. Click to reload...',
|
||||
error: true,
|
||||
}
|
||||
});
|
||||
|
||||
mockOffsetParent(wrapper.vm.$el);
|
||||
|
||||
await later();
|
||||
|
||||
expect(wrapper.emitted('load')).toBeFalsy();
|
||||
expect(wrapper.emitted('input')).toBeFalsy();
|
||||
|
||||
// 模拟点击error-text的行为
|
||||
wrapper.vm.$on('update:error', val => {
|
||||
wrapper.setProps({
|
||||
error: val
|
||||
});
|
||||
});
|
||||
|
||||
wrapper.find('.van-list__error-text').trigger('click');
|
||||
|
||||
await later();
|
||||
|
||||
expect(wrapper.vm.$props.error).toBeFalsy();
|
||||
expect(wrapper.emitted('load')).toBeTruthy();
|
||||
expect(wrapper.emitted('input')).toBeTruthy();
|
||||
|
||||
wrapper.destroy();
|
||||
});
|
||||
|
||||
test('finished', async () => {
|
||||
const wrapper = mount(List, {
|
||||
propsData: {
|
||||
finished: true,
|
||||
finishedText: 'Finished'
|
||||
}
|
||||
});
|
||||
|
||||
mockOffsetParent(wrapper.vm.$el);
|
||||
|
||||
await later();
|
||||
expect(wrapper.emitted('load')).toBeFalsy();
|
||||
expect(wrapper.emitted('input')).toBeFalsy();
|
||||
expect(wrapper.contains('.van-list__finished-text')).toBeTruthy();
|
||||
wrapper.vm.finished = false;
|
||||
|
||||
await later();
|
||||
expect(wrapper.emitted('load')).toBeTruthy();
|
||||
expect(wrapper.emitted('input')).toBeTruthy();
|
||||
expect(wrapper.contains('.van-list__finished-text')).toBeFalsy();
|
||||
});
|
||||
|
||||
test('immediate check false', async () => {
|
||||
const wrapper = mount(List, {
|
||||
propsData: {
|
||||
immediateCheck: false
|
||||
}
|
||||
});
|
||||
|
||||
await later();
|
||||
expect(wrapper.emitted('load')).toBeFalsy();
|
||||
expect(wrapper.emitted('input')).toBeFalsy();
|
||||
});
|
||||
|
||||
test('check the case that scroller is not window', async () => {
|
||||
const restoreMock = mockGetBoundingClientRect({
|
||||
top: 0,
|
||||
bottom: 200
|
||||
});
|
||||
|
||||
const wrapper = mount({
|
||||
template: `
|
||||
<div style="overflow-y: scroll;">
|
||||
<list ref="list"/>
|
||||
</div>
|
||||
`,
|
||||
components: { List }
|
||||
});
|
||||
|
||||
const listRef = wrapper.find({
|
||||
ref: 'list'
|
||||
});
|
||||
mockOffsetParent(listRef.vm.$el);
|
||||
|
||||
await later();
|
||||
expect(listRef.emitted('load')).toBeTruthy();
|
||||
expect(listRef.emitted('input')).toBeTruthy();
|
||||
|
||||
restoreMock();
|
||||
});
|
||||
|
||||
test('check the direction props', async () => {
|
||||
const wrapper = mount(List, {
|
||||
slots: {
|
||||
default: '<div class="list-item">list item</div>'
|
||||
},
|
||||
propsData: {
|
||||
direction: 'up'
|
||||
}
|
||||
});
|
||||
|
||||
mockOffsetParent(wrapper.vm.$el);
|
||||
|
||||
await later();
|
||||
|
||||
let children = wrapper.findAll('.van-list > div');
|
||||
expect(children.at(0).is('.van-list__placeholder')).toBeTruthy();
|
||||
expect(children.at(1).is('.list-item')).toBeTruthy();
|
||||
|
||||
// change the direction's value
|
||||
wrapper.setProps({
|
||||
direction: 'down'
|
||||
});
|
||||
|
||||
await later();
|
||||
children = wrapper.findAll('.van-list > div');
|
||||
expect(children.at(0).is('.list-item')).toBeTruthy();
|
||||
expect(children.at(1).is('.van-list__placeholder')).toBeTruthy();
|
||||
});
|
||||
Reference in New Issue
Block a user