keep-alive.test.js 3.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
const PAGE_PATH_OPTIONS = '/pages/built-in-component/keep-alive/keep-alive-options'
const PAGE_PATH_COMPOSITION = '/pages/built-in-component/keep-alive/keep-alive-composition'

describe('keep-alive', () => {
	if (process.env.uniTestPlatformInfo.toLocaleLowerCase().startsWith('ios')) {
		it("IOS platform not support", async () => {
			expect(1).toBe(1);
		});
		return
	}
	let page = null
	const testKeepAlive = async () => {
13
		await page.waitFor('view')
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
		const shouldExcludeBtns = await page.$$('.should-exclude-btn')
		for (let i = 0; i < shouldExcludeBtns.length; i++) {
			await shouldExcludeBtns[i].tap()
		}
		let shouldExcludeTexts = await page.$$('.should-exclude-text')
		for (let i = 0; i < shouldExcludeTexts.length; i++) {
			expect(await shouldExcludeTexts[i].text()).toBe('count: 1')
		}

		const showCounterBtn = await page.$('.show-counter')
		await showCounterBtn.tap()

		const activatedNum = await page.$('#activated-num')
		expect(await activatedNum.text()).toBe('activated num: 1')
		const deactivatedNum = await page.$('#deactivated-num')
		expect(await deactivatedNum.text()).toBe('deactivated num: 0')

		const counterBtns = await page.$$('.counter-btn')
		for (let i = 0; i < counterBtns.length; i++) {
			await counterBtns[i].tap()
		}

		const showShouldExcludeBtn = await page.$('.show-should-exclude')
		await showShouldExcludeBtn.tap()

		shouldExcludeTexts = await page.$$('.should-exclude-text')
		for (let i = 0; i < shouldExcludeTexts.length; i++) {
			if (i < shouldExcludeBtns.length - 1) {
				expect(await shouldExcludeTexts[i].text()).toBe('count: 0')
			} else {
				expect(await shouldExcludeTexts[i].text()).toBe('count: 1')
			}
		}

		await showCounterBtn.tap()

		expect(await activatedNum.text()).toBe('activated num: 2')
		expect(await deactivatedNum.text()).toBe('deactivated num: 1')

		let counterTexts = await page.$$('.counter-text')
		for (let i = 0; i < counterTexts.length; i++) {
			expect(await counterTexts[i].text()).toBe('count: 1')
		}

		const showMessageBtn = await page.$('.show-message')
		await showMessageBtn.tap()

		const chnageMessageBtns = await page.$$('.change-message')
		for (let i = 0; i < chnageMessageBtns.length; i++) {
			await chnageMessageBtns[i].tap()
		}

		let messageTexts = await page.$$('.message-text')
		for (let i = 0; i < messageTexts.length; i++) {
			expect(await messageTexts[i].text()).toBe('msg: message changed')
		}

		await showCounterBtn.tap()

		expect(await activatedNum.text()).toBe('activated num: 3')
		expect(await deactivatedNum.text()).toBe('deactivated num: 2')

		counterTexts = await page.$$('.counter-text')
		for (let i = 0; i < counterTexts.length; i++) {
			expect(await counterTexts[i].text()).toBe('count: 1')
		}

		await showMessageBtn.tap()

		messageTexts = await page.$$('.message-text')
		for (let i = 0; i < messageTexts.length; i++) {
			expect(await messageTexts[i].text()).toBe('msg: message changed')
		}

		await showShouldExcludeBtn.tap()
		shouldExcludeTexts = await page.$$('.should-exclude-text')
		for (let i = 0; i < shouldExcludeTexts.length; i++) {
			expect(await shouldExcludeTexts[i].text()).toBe('count: 0')
		}
	}
	it('keep-alive Options API', async () => {
		page = await program.reLaunch(PAGE_PATH_OPTIONS)
		await testKeepAlive()
	})
	it('keep-alive Composition API', async () => {
		page = await program.reLaunch(PAGE_PATH_COMPOSITION)
		await testKeepAlive()
	})
})