const isDom2 = process.env.UNI_APP_X_DOM2 === 'true'
const OPTIONS_PAGE_PATH = '/pages/app-instance/use/use-options'
const COMPOSITION_PAGE_PATH = '/pages/app-instance/use/use-composition'
describe('app-instance', () => {
const test = async (pagePath) => {
const page = await program.reLaunch(pagePath)
await page.waitFor('view')
if (!isDom2) {
const plugin1El = await page.$('.plugin1')
const plugin1Text = await plugin1El.text()
expect(plugin1Text).toBe('plugin1: 通过字面量方式创建的 plugin')
const plugin2El = await page.$('.plugin2')
const plugin2Text = await plugin2El.text()
expect(plugin2Text).toBe('plugin2: 通过函数方式创建的 plugin')
}
const plugin3El = await page.$('.plugin3')
const plugin3Text = await plugin3El.text()
expect(plugin3Text).toBe(
'plugin3: 通过 definePlugin + 对象字面量方式创建的 plugin'
)
const plugin4El = await page.$('.plugin4')
const plugin4Text = await plugin4El.text()
expect(plugin4Text).toBe(
'plugin4: 通过 definePlugin + 函数方式创建的 plugin'
)
const compForPluginEls = await page.$$('.component-for-plugin')
const compForPlugin1Text = await compForPluginEls[0].text()
expect(compForPlugin1Text).toBe('component for plugin')
const compForPlugin2Text = await compForPluginEls[1].text()
expect(compForPlugin2Text).toBe('component for plugin')
}
if (!isDom2) {
it('app.use options API', async () => {
await test(OPTIONS_PAGE_PATH)
})
}
it('app.use composition API', async () => {
await test(COMPOSITION_PAGE_PATH)
})
})