fix: state collision (#4881)
* Add helper for navigating the quick picker This has problems similar to the menu except instead of closing it gets re-created which interrupts the hover call and causes the test to fail. Now it will keep trying just like the menu. * Add a test for opening a file * Add test for colliding state * Update VS Code This contains the colliding state fix.
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
import { promises as fs } from "fs"
|
||||
import * as path from "path"
|
||||
import { describe, test, expect } from "./baseFixture"
|
||||
|
||||
describe("CodeServer", true, [], () => {
|
||||
@ -24,4 +26,32 @@ describe("CodeServer", true, [], () => {
|
||||
await codeServerPage.focusTerminal()
|
||||
expect(await codeServerPage.page.isVisible("#terminal")).toBe(true)
|
||||
})
|
||||
|
||||
test("should open a file", async ({ codeServerPage }) => {
|
||||
const dir = await codeServerPage.workspaceDir
|
||||
const file = path.join(dir, "foo")
|
||||
await fs.writeFile(file, "bar")
|
||||
await codeServerPage.openFile(file)
|
||||
})
|
||||
|
||||
test("should not share state with other paths", async ({ codeServerPage }) => {
|
||||
const dir = await codeServerPage.workspaceDir
|
||||
const file = path.join(dir, "foo")
|
||||
await fs.writeFile(file, "bar")
|
||||
|
||||
await codeServerPage.openFile(file)
|
||||
|
||||
// If we reload now VS Code will be unable to save the state changes so wait
|
||||
// until those have been written to the database. It flushes every five
|
||||
// seconds so we need to wait at least that long.
|
||||
await codeServerPage.page.waitForTimeout(5500)
|
||||
|
||||
// The tab should re-open on refresh.
|
||||
await codeServerPage.page.reload()
|
||||
await codeServerPage.waitForTab(file)
|
||||
|
||||
// The tab should not re-open on a different path.
|
||||
await codeServerPage.setup(true, "/vscode")
|
||||
expect(await codeServerPage.tabIsVisible(file)).toBe(false)
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user