29 lines
1001 B
TypeScript
29 lines
1001 B
TypeScript
|
import { promises as fs } from "fs"
|
||
|
import * as path from "path"
|
||
|
import { describe, test, expect } from "./baseFixture"
|
||
|
|
||
|
describe("Webviews", ["--disable-workspace-trust"], {}, () => {
|
||
|
test("should preview a Markdown file", async ({ codeServerPage }) => {
|
||
|
// Create Markdown file
|
||
|
const heading = "Hello world"
|
||
|
const dir = await codeServerPage.workspaceDir
|
||
|
const file = path.join(dir, "text.md")
|
||
|
await fs.writeFile(file, `# ${heading}`)
|
||
|
await codeServerPage.openFile(file)
|
||
|
|
||
|
// Open Preview
|
||
|
await codeServerPage.executeCommandViaMenus("Markdown: Open Preview to the Side")
|
||
|
// Wait for the iframe to open and load
|
||
|
await codeServerPage.waitForTab(`Preview ${file}`)
|
||
|
|
||
|
// It's an iframe within an iframe
|
||
|
// so we have to do .frameLocator twice
|
||
|
const renderedText = await codeServerPage.page
|
||
|
.frameLocator("iframe.webview.ready")
|
||
|
.frameLocator("#active-frame")
|
||
|
.locator("text=Hello world")
|
||
|
|
||
|
expect(renderedText).toBeVisible
|
||
|
})
|
||
|
})
|