Skip to content

Commit 3c2270a

Browse files
authored
[bugfix] Tabs: incorrect line position in some cases (youzan#3961)
1 parent f52890c commit 3c2270a

20 files changed

Lines changed: 154 additions & 168 deletions

File tree

src/address-edit/test/index.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
/* eslint-disable camelcase */
22
import AddressEdit from '..';
33
import areaList from '../../area/demo/area.simple';
4-
import { mount, later, transitionStub } from '../../../test/utils';
5-
6-
transitionStub();
4+
import { mount, later } from '../../../test/utils';
75

86
const addressInfo = {
97
name: '测试',

src/dialog/test/index.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import Vue from 'vue';
22
import Dialog from '..';
33
import DialogVue from '../Dialog';
4-
import { mount, later, trigger, transitionStub } from '../../../test/utils';
5-
6-
transitionStub();
4+
import { mount, later, trigger } from '../../../test/utils';
75

86
test('Dialog function call', async () => {
97
Dialog.close();

src/dropdown-menu/test/__snapshots__/index.spec.js.snap

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ exports[`close-on-click-outside 1`] = `
2727
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
2828
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
2929
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
30-
<div class="van-overlay van-fade-leave van-fade-leave-active" style="z-index: 2006; position: absolute; animation-duration: 0.2s;"></div>
30+
<div class="van-overlay" style="z-index: 2006; position: absolute; animation-duration: 0.2s; display: none;" name="van-fade"></div>
3131
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0.2s; display: none;" name="van-popup-slide-top">
3232
<div class="van-cell van-cell--clickable" style="color: rgb(25, 137, 250);">
3333
<div class="van-cell__title"><span>A</span></div>
@@ -86,7 +86,7 @@ exports[`disable close-on-click-outside 1`] = `
8686
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
8787
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
8888
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
89-
<div class="van-overlay van-fade-enter van-fade-enter-active" style="z-index: 2008; position: absolute; animation-duration: 0.2s;"></div>
89+
<div class="van-overlay" style="z-index: 2008; position: absolute; animation-duration: 0.2s;" name="van-fade"></div>
9090
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0.2s;" name="van-popup-slide-top">
9191
<div class="van-cell van-cell--clickable" style="color: rgb(25, 137, 250);">
9292
<div class="van-cell__title"><span>A</span></div>
@@ -118,7 +118,7 @@ exports[`render option icon 1`] = `
118118
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
119119
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
120120
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
121-
<div class="van-overlay van-fade-enter van-fade-enter-active" style="z-index: 2004; position: absolute; animation-duration: 0.2s;"></div>
121+
<div class="van-overlay" style="z-index: 2004; position: absolute; animation-duration: 0.2s;" name="van-fade"></div>
122122
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0.2s;" name="van-popup-slide-top">
123123
<div class="van-cell van-cell--clickable" style="color: rgb(25, 137, 250);"><i class="van-icon van-icon-success van-cell__left-icon">
124124
<!----></i>
@@ -143,7 +143,7 @@ exports[`show dropdown item 1`] = `
143143
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title van-dropdown-menu__title--down" style="color: rgb(25, 137, 250);"><div class="van-ellipsis">A</div></span></div>
144144
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis">A</div></span></div>
145145
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
146-
<div class="van-overlay van-fade-enter van-fade-enter-active" style="z-index: 2000; position: absolute; animation-duration: 0.2s;"></div>
146+
<div class="van-overlay" style="z-index: 2000; position: absolute; animation-duration: 0.2s;" name="van-fade"></div>
147147
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0.2s;" name="van-popup-slide-top">
148148
<div class="van-cell van-cell--clickable" style="color: rgb(25, 137, 250);">
149149
<div class="van-cell__title"><span>A</span></div>
@@ -178,7 +178,7 @@ exports[`show dropdown item 2`] = `
178178
</div>
179179
</div>
180180
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
181-
<div class="van-overlay van-fade-enter van-fade-enter-active" style="z-index: 2001; position: absolute; animation-duration: 0.2s;"></div>
181+
<div class="van-overlay" style="z-index: 2001; position: absolute; animation-duration: 0.2s;" name="van-fade"></div>
182182
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0.2s;" name="van-popup-slide-top">
183183
<div class="van-cell van-cell--clickable" style="color: rgb(25, 137, 250);">
184184
<div class="van-cell__title"><span>A</span></div>
@@ -210,7 +210,7 @@ exports[`show dropdown item 3`] = `
210210
</div>
211211
</div>
212212
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
213-
<div class="van-overlay van-fade-leave van-fade-leave-active" style="z-index: 2001; position: absolute; animation-duration: 0.2s;"></div>
213+
<div class="van-overlay" style="z-index: 2001; position: absolute; animation-duration: 0.2s; display: none;" name="van-fade"></div>
214214
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0.2s; display: none;" name="van-popup-slide-top">
215215
<div class="van-cell van-cell--clickable" style="color: rgb(25, 137, 250);">
216216
<div class="van-cell__title"><span>A</span></div>
@@ -242,7 +242,7 @@ exports[`toggle method 1`] = `
242242
<div class="van-dropdown-menu van-hairline--top-bottom">
243243
<div role="button" tabindex="0" class="van-dropdown-menu__item"><span class="van-dropdown-menu__title"><div class="van-ellipsis"></div></span></div>
244244
<div class="van-dropdown-item van-dropdown-item--down" style="z-index: 10; top: 0px;">
245-
<div class="van-overlay van-fade-enter-active van-fade-enter-to" style="z-index: 2014; position: absolute; animation-duration: 0s;"></div>
245+
<div class="van-overlay" style="z-index: 2014; position: absolute; animation-duration: 0s;" name="van-fade"></div>
246246
<div class="van-popup van-popup--top van-dropdown-item__content" style="transition-duration: 0s; z-index: 2015;" name="van-popup-slide-top"></div>
247247
</div>
248248
</div>

src/image-preview/test/index.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import Vue from 'vue';
22
import ImagePreview from '..';
33
import ImagePreviewVue from '../ImagePreview';
4-
import { mount, trigger, triggerDrag, transitionStub, later } from '../../../test/utils';
5-
6-
transitionStub();
4+
import { mount, trigger, triggerDrag, later } from '../../../test/utils';
75

86
function triggerZoom(el, x, y) {
97
trigger(el, 'touchstart', 0, 0, { x, y });

src/list/index.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { createNamespace } from '../utils';
2-
import Loading from '../loading';
2+
import { isHidden } from '../utils/dom/style';
33
import { BindEventMixin } from '../mixins/bind-event';
44
import { getScrollEventTarget } from '../utils/dom/scroll';
5+
import Loading from '../loading';
56

67
const [createComponent, bem, t] = createNamespace('list');
78

@@ -78,11 +79,7 @@ export default createComponent({
7879
const scrollerHeight = scrollerRect.bottom - scrollerRect.top;
7980

8081
/* istanbul ignore next */
81-
if (
82-
!scrollerHeight ||
83-
window.getComputedStyle(el).display === 'none' ||
84-
el.offsetParent === null
85-
) {
82+
if (!scrollerHeight || isHidden(el)) {
8683
return false;
8784
}
8885

src/list/test/__snapshots__/demo.spec.js.snap

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ exports[`renders demo correctly 1`] = `
1515
<div class="van-pull-refresh">
1616
<div class="van-pull-refresh__track" style="transition: 0ms;">
1717
<div class="van-pull-refresh__head"></div>
18-
<div role="feed" class="van-list">
18+
<div role="feed" class="van-list" aria-busy="true">
19+
<div class="van-list__loading">
20+
<div class="van-loading van-loading--circular"><span class="van-loading__spinner van-loading__spinner--circular" style="color: rgb(201, 201, 201); width: 16px; height: 16px;"><svg viewBox="25 25 50 50" class="van-loading__circular"><circle cx="50" cy="50" r="20" fill="none"></circle></svg></span><span class="van-loading__text">加载中...</span></div>
21+
</div>
1922
<div class="van-list__placeholder"></div>
2023
</div>
2124
</div>

src/list/test/index.spec.js

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,13 @@
11
import List from '..';
22
import { mount, later, mockGetBoundingClientRect } from '../../../test/utils';
33

4-
function mockOffsetParent(el) {
5-
Object.defineProperty(el, 'offsetParent', {
6-
get() {
7-
return {};
8-
}
9-
});
10-
}
11-
124
test('load event', async () => {
135
const wrapper = mount(List);
146

157
wrapper.vm.$on('input', value => {
168
wrapper.vm.loading = value;
179
});
1810

19-
mockOffsetParent(wrapper.vm.$el);
20-
2111
await later();
2212
expect(wrapper.emitted('load')).toBeTruthy();
2313
expect(wrapper.emitted('input')).toBeTruthy();
@@ -37,8 +27,6 @@ test('error loaded, click error-text and reload', async () => {
3727
}
3828
});
3929

40-
mockOffsetParent(wrapper.vm.$el);
41-
4230
await later();
4331

4432
expect(wrapper.emitted('load')).toBeFalsy();
@@ -70,8 +58,6 @@ test('finished', async () => {
7058
}
7159
});
7260

73-
mockOffsetParent(wrapper.vm.$el);
74-
7561
await later();
7662
expect(wrapper.emitted('load')).toBeFalsy();
7763
expect(wrapper.emitted('input')).toBeFalsy();
@@ -114,7 +100,6 @@ test('check the case that scroller is not window', async () => {
114100
const listRef = wrapper.find({
115101
ref: 'list'
116102
});
117-
mockOffsetParent(listRef.vm.$el);
118103

119104
await later();
120105
expect(listRef.emitted('load')).toBeTruthy();
@@ -133,8 +118,6 @@ test('check the direction props', async () => {
133118
}
134119
});
135120

136-
mockOffsetParent(wrapper.vm.$el);
137-
138121
await later();
139122

140123
let children = wrapper.findAll('.van-list > div');

src/notify/test/index.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import Notify from '..';
2-
import { transitionStub, later } from '../../../test/utils';
3-
4-
transitionStub();
2+
import { later } from '../../../test/utils';
53

64
test('create a notify', async () => {
75
// should not cause error when call clear before show notify

src/popup/test/index.spec.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import Popup from '..';
2-
import { mount, triggerDrag, transitionStub } from '../../../test/utils';
3-
4-
transitionStub();
2+
import { mount, triggerDrag } from '../../../test/utils';
53

64
let wrapper;
75
afterEach(() => {

src/sticky/test/demo.spec.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
import Demo from '../demo';
22
import demoTest from '../../../test/demo-test';
3-
import { mockHTMLElementOffset } from '../../../test/utils';
43

5-
mockHTMLElementOffset();
64
demoTest(Demo);

0 commit comments

Comments
 (0)