提交 454c3971 编写于 作者: DCloud-WZF's avatar DCloud-WZF 💬

test(API): navigator

上级 c0c31c9d
jest.setTimeout(40000) jest.setTimeout(40000)
const CURRENT_PAGE_PATH = '/pages/API/navigator/navigator' const CURRENT_PAGE_PATH = '/pages/API/navigator/navigator'
const CHILD1_PAGE_PATH = '/pages/API/navigator/new-page/new-page-1'
const CHILD2_PAGE_PATH = '/pages/API/navigator/new-page/new-page-2'
describe('navigator', () => { describe('navigator', () => {
let page let page
...@@ -102,6 +104,20 @@ describe('navigator', () => { ...@@ -102,6 +104,20 @@ describe('navigator', () => {
expect(lifeCycleNum).toBe(2) expect(lifeCycleNum).toBe(2)
}) })
it('navigateBackWithDelta2', async () => {
await page.callMethod('setLifeCycleNum', 0)
await program.navigateTo(CHILD2_PAGE_PATH)
await page.waitFor(500)
page = await program.navigateTo(CHILD1_PAGE_PATH)
await page.waitFor(500)
await page.callMethod('navigateBackWithDelta2')
await page.waitFor(500)
page = await program.currentPage()
expect(`/${page.path}`).toBe(CURRENT_PAGE_PATH)
lifeCycleNum = await page.callMethod('getLifeCycleNum')
expect(lifeCycleNum).toBe(10)
})
it('navigateBackWithDelta100', async () => { it('navigateBackWithDelta100', async () => {
page = await program.reLaunch(CURRENT_PAGE_PATH) page = await program.reLaunch(CURRENT_PAGE_PATH)
await page.callMethod('setLifeCycleNum', 0) await page.callMethod('setLifeCycleNum', 0)
......
<template> <template>
<view> <view>
<page-head title="navigate"></page-head> <page-head title="navigate"></page-head>
<view class="uni-padding-wrap uni-common-mt"> <view class="uni-padding-wrap uni-common-mt uni-common-mb">
<view class="direction-row"> <view class="direction-row">
<text class="label">onLoad触发时间戳:</text> <text class="label">onLoad触发时间戳:</text>
<text>{{ onLoadTime }}</text> <text>{{ onLoadTime }}</text>
...@@ -37,6 +37,9 @@ ...@@ -37,6 +37,9 @@
<button @tap="customAnimation" class="uni-btn"> <button @tap="customAnimation" class="uni-btn">
使用自定义动画打开页面 使用自定义动画打开页面
</button> </button>
<button @tap="navigateToErrorPage" class="uni-btn">
打开不存在的页面
</button>
</view> </view>
</view> </view>
</view> </view>
...@@ -128,6 +131,10 @@ export default { ...@@ -128,6 +131,10 @@ export default {
}, },
fail(error) { fail(error) {
console.log('navigateTo fail', error.errMsg) console.log('navigateTo fail', error.errMsg)
uni.showToast({
title: error.errMsg,
icon: 'none',
})
// 自动化测试 // 自动化测试
setLifeCycleNum(state.lifeCycleNum + 1) setLifeCycleNum(state.lifeCycleNum + 1)
}, },
......
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
<page-head title="new-page-1" /> <page-head title="new-page-1" />
<text>onLoad 接收到参数</text> <text>onLoad 接收到参数</text>
<text>data: {{ data }}</text> <text>data: {{ data }}</text>
<button @tap="navigateBackWithDelta2" class="uni-btn">
回退到上上层页面
</button>
</view> </view>
</template> </template>
...@@ -24,6 +27,17 @@ export default { ...@@ -24,6 +27,17 @@ export default {
getLifeCycleNum(): number { getLifeCycleNum(): number {
return state.lifeCycleNum return state.lifeCycleNum
}, },
navigateBackWithDelta2() {
uni.navigateBack({
delta: 2,
success() {
console.log('回退上上层页面成功')
},
fail(error) {
console.warn(`回退上上层页面失败: ${error.errMsg}`)
},
})
},
}, },
} }
</script> </script>
...@@ -37,7 +37,7 @@ describe('page-lifecycle', () => { ...@@ -37,7 +37,7 @@ describe('page-lifecycle', () => {
}) })
// TODO: pageScrollTo 无法触发 onReachBottom, 待修复后调整 lifeCycleNum // TODO: pageScrollTo 无法触发 onReachBottom, 待修复后调整 lifeCycleNum
it('onPageScroll onReachBottom', async () => { it('onPageScroll onReachBottom', async () => {
await program.pageScrollTo(1200) await program.pageScrollTo(2000)
const data = await page.data() const data = await page.data()
expect(data.isScrolled).toBe(true) expect(data.isScrolled).toBe(true)
lifeCycleNum = await page.callMethod('getLifeCycleNum') lifeCycleNum = await page.callMethod('getLifeCycleNum')
......
<template> <template>
<view class="uni-padding-wrap container"> <view class="uni-padding-wrap container">
<page-head title="new-page-2" /> <page-head title="new-page-2" />
<button @click="pageScrollTo">scrollToBottom</button> <button @click="pageScrollTo">scrollToBottom</button>
</view> </view>
</template> </template>
...@@ -70,11 +70,11 @@ export default { ...@@ -70,11 +70,11 @@ export default {
}, },
}) })
}, },
pageScrollTo(){ pageScrollTo() {
uni.pageScrollTo({ uni.pageScrollTo({
scrollTop: 1200 scrollTop: 2000,
}) })
} },
}, },
} }
</script> </script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册