diff --git a/pages/component/list-view/list-view-refresh.test.js b/pages/component/list-view/list-view-refresh.test.js
index 09699044e74e099aceae6688078d991b51cc9075..05c30fcffae4a90792206c5e8285e664540a511e 100644
--- a/pages/component/list-view/list-view-refresh.test.js
+++ b/pages/component/list-view/list-view-refresh.test.js
@@ -20,5 +20,27 @@ describe('component-native-list-view-refresh', () => {
await page.waitFor(500)
const image = await program.screenshot({fullPage: true});
expect(image).toSaveImageSnapshot();
+ // 手动设置下拉刷新状态refresher-triggered为true时,在iOS不触发@refresherpulling事件
+ if(process.env.UNI_UTS_PLATFORM.startsWith('app-android')){
+ expect(await page.data('onRefresherpullingTest')).toBe('refresherpulling:Success')
+ }
+ expect(await page.data('refresherrefreshTest')).toBe('refresherrefresh:Success')
+ await page.waitFor(1000);
+ expect(await page.data('onRefresherrestoreTest')).toBe('refresherrestore:Success')
})
+
+ it('check_refresherabort', async () => {
+ // 仅App端支持手势下拉刷新
+ await program.swipe({
+ startPoint: {x: 100,y: 400},
+ endPoint: {x: 100,y: 500},
+ duration: 1000
+ })
+ await page.waitFor(1500)
+ // 下拉刷新被中止,在iOS不触发@refresherabort事件
+ if(process.env.UNI_UTS_PLATFORM.startsWith('app-android')){
+ expect(await page.data('onRefresherabortTest')).toBe('refresherabort:Success')
+ }
+ });
+
})
diff --git a/pages/component/list-view/list-view-refresh.uvue b/pages/component/list-view/list-view-refresh.uvue
index 9299b9fad79a580d4df578b691cb69128964d68f..fb4195e305b42c4f55b94397101958b7070acecf 100644
--- a/pages/component/list-view/list-view-refresh.uvue
+++ b/pages/component/list-view/list-view-refresh.uvue
@@ -1,6 +1,6 @@
+ :refresher-triggered="refresherTriggered" @refresherrefresh="onRefresherrefresh" @refresherabort="onRefresherabort" @refresherrestore="onRefresherrestore" @refresherpulling="onRefresherpulling">
向下滑动触发下拉刷新
@@ -10,13 +10,24 @@
-
diff --git a/pages/component/list-view/list-view.test.js b/pages/component/list-view/list-view.test.js
index 68454aef4f95d3cac5c0320f9ea1e179f2bf48e8..cd44ef1990b3ab63ccebca7deed1de41a9dd855a 100644
--- a/pages/component/list-view/list-view.test.js
+++ b/pages/component/list-view/list-view.test.js
@@ -32,10 +32,63 @@ describe('component-native-list-view', () => {
expect(scrollLeft-600).toBeGreaterThanOrEqual(0)
})
+ it('Event check_scroll', async () => {
+ await page.callMethod('change_scroll_y_boolean', true)
+ await page.callMethod('change_scroll_x_boolean', false)
+ await page.waitFor(600)
+ await page.callMethod('confirm_scroll_top_input', 300)
+ await page.waitFor(600)
+ // 在web端scroll事件event参数中detail类型报错,先忽略测试
+ if(!process.env.UNI_UTS_PLATFORM.startsWith('web')){
+ const scrollDetail = await page.data('scrollDetailTest')
+ expect(scrollDetail.scrollLeft).toBe(0)
+ expect(scrollDetail.scrollTop).toBe(300)
+ expect(scrollDetail.scrollHeight).toBeGreaterThan(0)
+ // 在安卓端 "scrollWidth":0
+ if(!process.env.UNI_UTS_PLATFORM.startsWith('app-android')){
+ expect(scrollDetail.scrollWidth).toBeGreaterThan(0)
+ }
+ expect(scrollDetail.deltaX).toBe(0)
+ expect(scrollDetail.deltaY).toBe(300)
+ }
+ expect(await page.data('isScrollTest')).toBe('scroll:Success')
+ })
+
+ it('Event scrolltolower-滚动到底部/右边',async()=>{
+ // 滚动到底部,是否触发scrolltolower事件
+ await page.callMethod('confirm_scroll_top_input', 2500)
+ await page.waitFor(600)
+ expect(await page.data('isScrolltolowerTest')).toBe('scrolltolower:Success-bottom')
+ })
+
+ it('Event scrolltoupper-滚动到顶部/左边',async()=>{
+ // 滚动到顶部50,是否触发scrolltoupper事件
+ await page.callMethod('confirm_scroll_top_input', 50)
+ await page.waitFor(600)
+ expect(await page.data('isScrolltoupperTest')).toBe('scrolltoupper:Success-top')
+ })
+
if (process.env.uniTestPlatformInfo.indexOf('web') > -1) {
return
}
+ it('Event scrollend-滚动结束时触发',async()=>{
+ // 仅App端支持,向下滑动页面
+ await program.swipe({
+ startPoint: { x: 100, y: 500 },
+ endPoint: { x: 100, y: 200 },
+ duration: 1000
+ })
+ await page.waitFor(600)
+ const endDetail = await page.data('scrollEndDetailTest')
+ expect(endDetail.deltaY).toBe(0)
+ expect(endDetail.deltaX).toBe(0)
+ expect(endDetail.scrollLeft).toBe(0)
+ expect(endDetail.scrollTop).toBeGreaterThan(0)
+ expect(endDetail.scrollHeight).toBeGreaterThan(0)
+ // 在安卓端 "scrollWidth":0
+ // expect(endDetail.scrollWidth).toBeGreaterThan(0)
+ })
if(process.env.uniTestPlatformInfo.toLowerCase().startsWith('ios')) {
return
diff --git a/pages/component/list-view/list-view.uvue b/pages/component/list-view/list-view.uvue
index 4877bfa36ac02c894bf9b155806364e8a448a5a2..aad832e4e264ec864da2ce57971aa68912dd08f2 100644
--- a/pages/component/list-view/list-view.uvue
+++ b/pages/component/list-view/list-view.uvue
@@ -1,4 +1,10 @@