|
|
@@ -6,10 +6,10 @@ import {
|
|
|
import connect from 'connect'
|
|
|
import sirv from 'sirv'
|
|
|
import { ports } from '../utils'
|
|
|
+import { nextTick } from 'vue'
|
|
|
+const { page, click, text, enterValue, html } = setupPuppeteer()
|
|
|
|
|
|
describe('vdom / vapor interop', () => {
|
|
|
- const { page, click, text, enterValue } = setupPuppeteer()
|
|
|
-
|
|
|
let server: any
|
|
|
const port = ports.vdomInterop
|
|
|
beforeAll(() => {
|
|
|
@@ -19,6 +19,12 @@ describe('vdom / vapor interop', () => {
|
|
|
process.on('SIGTERM', () => server && server.close())
|
|
|
})
|
|
|
|
|
|
+ beforeEach(async () => {
|
|
|
+ const baseUrl = `http://localhost:${port}/interop/`
|
|
|
+ await page().goto(baseUrl)
|
|
|
+ await page().waitForSelector('#app')
|
|
|
+ })
|
|
|
+
|
|
|
afterAll(() => {
|
|
|
server.close()
|
|
|
})
|
|
|
@@ -26,9 +32,6 @@ describe('vdom / vapor interop', () => {
|
|
|
test(
|
|
|
'should work',
|
|
|
async () => {
|
|
|
- const baseUrl = `http://localhost:${port}/interop/`
|
|
|
- await page().goto(baseUrl)
|
|
|
-
|
|
|
expect(await text('.vapor > h2')).toContain('Vapor component in VDOM')
|
|
|
|
|
|
expect(await text('.vapor-prop')).toContain('hello')
|
|
|
@@ -82,4 +85,33 @@ describe('vdom / vapor interop', () => {
|
|
|
},
|
|
|
E2E_TIMEOUT,
|
|
|
)
|
|
|
+
|
|
|
+ describe('teleport', () => {
|
|
|
+ const testSelector = '.teleport'
|
|
|
+ test('render vapor component', async () => {
|
|
|
+ const targetSelector = `${testSelector} .teleport-target`
|
|
|
+ const containerSelector = `${testSelector} .render-vapor-comp`
|
|
|
+ const buttonSelector = `${containerSelector} button`
|
|
|
+
|
|
|
+ // teleport is disabled by default
|
|
|
+ expect(await html(containerSelector)).toBe(
|
|
|
+ `<button>toggle</button><div>vapor comp</div>`,
|
|
|
+ )
|
|
|
+ expect(await html(targetSelector)).toBe('')
|
|
|
+
|
|
|
+ // disabled -> enabled
|
|
|
+ await click(buttonSelector)
|
|
|
+ await nextTick()
|
|
|
+ expect(await html(containerSelector)).toBe(`<button>toggle</button>`)
|
|
|
+ expect(await html(targetSelector)).toBe('<div>vapor comp</div>')
|
|
|
+
|
|
|
+ // enabled -> disabled
|
|
|
+ await click(buttonSelector)
|
|
|
+ await nextTick()
|
|
|
+ expect(await html(containerSelector)).toBe(
|
|
|
+ `<button>toggle</button><div>vapor comp</div>`,
|
|
|
+ )
|
|
|
+ expect(await html(targetSelector)).toBe('')
|
|
|
+ })
|
|
|
+ })
|
|
|
})
|