const isDom2 = process.env.UNI_APP_X_DOM2 === 'true'
const OPTIONS_PAGE_PATH = '/pages/component-instance/data/data-options'
const COMPOSITION_PAGE_PATH = '/pages/component-instance/data/data-composition'
describe('$data', () => {
const test = async (pagePath) => {
const page = await program.reLaunch(pagePath)
await page.waitFor('view')
const str = await page.$('#str')
expect(await str.text()).toBe('default str')
const num = await page.$('#num')
expect(await num.text()).toBe('0')
const arr = await page.$('#arr')
expect(await arr.text()).toBe('1,2,3')
const objStr = await page.$('#obj-str')
expect(await objStr.text()).toBe('default obj.str')
const objNum = await page.$('#obj-num')
expect(await objNum.text()).toBe('10')
const objArr = await page.$('#obj-arr')
expect(await objArr.text()).toBe('4,5,6')
const elementIsSame = await page.$('#isSameRefText')
expect(await elementIsSame.text()).toBe('false')
await page.callMethod('updateData')
expect(await str.text()).toBe('new str')
expect(await num.text()).toBe('1')
expect(await arr.text()).toBe('4,5,6')
expect(await objStr.text()).toBe('new obj.str')
expect(await objNum.text()).toBe('100')
expect(await objArr.text()).toBe('7,8,9')
expect(await elementIsSame.text()).toBe('true')
}
if (!isDom2) {
it('$data 选项式 API', async () => {
await test(OPTIONS_PAGE_PATH)
});
}
it('data 组合式 API', async () => {
await test(COMPOSITION_PAGE_PATH)
})
})