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

feat(getCurrentPages): 增加针对 UniPage 示例及测试

上级 d7389302
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
app.emit('fn3', null) app.emit('fn3', null)
const res = num == 6 const res = num == 6
console.log('checkEventBus', res) console.log('check eventBus', res)
return res return res
}, },
checkGetAndroidApplication() : boolean { checkGetAndroidApplication() : boolean {
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
// #ifndef APP-ANDROID // #ifndef APP-ANDROID
const res = androidApplication == null const res = androidApplication == null
// #endif // #endif
console.log('checkGetAndroidApplication', res) console.log('check getAndroidApplication', res)
return res return res
} }
}, },
......
const HOME_PAGE_PATH = '/pages/tabBar/component' const HOME_PAGE_PATH = '/pages/tabBar/component'
const PAGE_PATH = '/pages/API/get-current-pages/get-current-pages' const PAGE_PATH = '/pages/API/get-current-pages/get-current-pages?test=123'
describe('getCurrentPages', () => { describe('getCurrentPages', () => {
let page let page
...@@ -25,8 +25,6 @@ describe('getCurrentPages', () => { ...@@ -25,8 +25,6 @@ describe('getCurrentPages', () => {
expect(data.checked).toBe(true) expect(data.checked).toBe(true)
}) })
it('page-style', async () => { it('page-style', async () => {
page = await program.navigateTo(PAGE_PATH)
await page.callMethod('getPageStyle') await page.callMethod('getPageStyle')
await page.waitFor(200) await page.waitFor(200)
const isEnablePullDownRefresh1 = (await page.data()).currentPageStyle.enablePullDownRefresh const isEnablePullDownRefresh1 = (await page.data()).currentPageStyle.enablePullDownRefresh
...@@ -63,4 +61,29 @@ describe('getCurrentPages', () => { ...@@ -63,4 +61,29 @@ describe('getCurrentPages', () => {
return 'get-current-pages-test-js-get-current-pages-page-style-after-set-page-style' return 'get-current-pages-test-js-get-current-pages-page-style-after-set-page-style'
}}); }});
}) })
it('$page', async () => {
await page.setData({testing: true})
const res = await page.callMethod('check$page')
expect(res).toBe(true)
})
it('eventBus', async () => {
const res = await page.callMethod('checkEventBus')
expect(res).toBe(true)
})
it('getParentPage', async () => {
const res = await page.callMethod('checkGetParentPage')
expect(res).toBe(true)
})
it('getDialogPages', async () => {
const res = await page.callMethod('checkGetDialogPages')
expect(res).toBe(true)
})
it('getElementById', async () => {
const res = await page.callMethod('checkGetElementById')
expect(res).toBe(true)
})
it('getAndroidView', async () => {
const res = await page.callMethod('checkGetAndroidView')
expect(res).toBe(true)
})
}) })
...@@ -12,8 +12,16 @@ ...@@ -12,8 +12,16 @@
<text style="margin-top: 5px">index: {{ index }}, route: {{ page.route }}</text> <text style="margin-top: 5px">index: {{ index }}, route: {{ page.route }}</text>
</template> </template>
</view> </view>
<button class="uni-common-mt" @click="check$page">check $page</button>
<button class="uni-common-mt" @click="checkEventBus">check eventBus</button>
<button class="uni-common-mt" @click="checkGetParentPage">check getParentPage</button>
<button class="uni-common-mt" @click="checkGetDialogPages">check getDialogPages</button>
<button id="check-get-element-by-id-btn" class="uni-common-mt" @click="checkGetElementById">check
getElementById</button>
<button class="uni-common-mt" @click="checkGetAndroidView">check getAndroidView</button>
</view> </view>
<page-head title="currentPageStyle"></page-head> <page-head title="currentPageStyle"></page-head>
<template v-for="(item, index) in PageStyleArray"> <template v-for="(item, index) in PageStyleArray">
<view class="page-style-item" v-if="currentPageStyle[item.key]!=null" :key="index"> <view class="page-style-item" v-if="currentPageStyle[item.key]!=null" :key="index">
...@@ -60,6 +68,7 @@ ...@@ -60,6 +68,7 @@
pages: [] as Page[], pages: [] as Page[],
PageStyleArray: PageStyleArray as PageStyleItem[], PageStyleArray: PageStyleArray as PageStyleItem[],
currentPageStyle: {} as UTSJSONObject, currentPageStyle: {} as UTSJSONObject,
testing: false
} }
}, },
computed: { computed: {
...@@ -125,12 +134,86 @@ ...@@ -125,12 +134,86 @@
uni.navigateTo({ uni.navigateTo({
url: '/pages/API/get-current-pages/set-page-style-disable-pull-down-refresh' url: '/pages/API/get-current-pages/set-page-style-disable-pull-down-refresh'
}); });
},
getCurrentPage() : UniPage {
const pages = getCurrentPages()
return pages[pages.length - 1]
},
check$page() : boolean {
const page = this.getCurrentPage()
let res = this.$page === page
if(this.testing){
res = res && page.options.get('test') == '123'
} }
// getCurrentPage(): Page { console.log('check $page', res)
// const pages = getCurrentPages(); return res
// const currentPage = pages[pages.length - 1]; },
// return currentPage; checkEventBus() : boolean {
// } const page = this.getCurrentPage()
let num = 0
const fn1 = (args : any | null) => {
console.log('fn1 triggred', args)
num++
}
const fn2 = (args : any | null) => {
console.log('fn2 triggred', args)
num++
}
const fn3 = (args : any | null) => {
console.log('fn3 triggred', args)
num++
}
page.on('fn12', fn1)
page.on('fn12', fn2)
page.once('fn3', fn3)
page.emit('fn12', { name: 'name' })
page.emit('fn12', { age: 20 })
page.off('fn12', fn1)
page.emit('fn12', null)
page.emit('fn3', { name: 'name' })
page.emit('fn3', { age: 20 })
page.emit('fn3', null)
const res = num == 6
console.log('check eventBus', res)
return res
},
checkGetParentPage() : boolean {
const page = this.getCurrentPage()
const parentPage = page.getParentPage()
const res = parentPage == null
console.log('check getParentPage', res)
return res
},
checkGetDialogPages() : boolean {
const page = this.getCurrentPage()
const dialogPages = page.getDialogPages()
const res = Array.isArray(dialogPages) && dialogPages.length == 0
console.log('check getDialogPages', res)
return res
},
checkGetElementById() : boolean {
const page = this.getCurrentPage()
const element = page.getElementById('check-get-element-by-id-btn')
const res = element != null
console.log('check getElementById', res)
return res
},
checkGetAndroidView() : boolean {
const page = this.getCurrentPage()
const androidView = page.getAndroidView()
// #ifdef APP-ANDROID
const res = androidView != null
// #endif
// #ifndef APP-ANDROID
const res = androidView == null
// #endif
console.log('check getAndroidView', res)
return res
},
}, },
} }
</script> </script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册