mirror of
https://github.com/Microsoft/vscode
synced 2024-10-06 03:17:00 +00:00
Add more tests
This commit is contained in:
parent
65cd41503b
commit
e723f810ec
|
@ -30,7 +30,7 @@ export class SettingsEditor {
|
|||
|
||||
async clearUserSettings(): Promise<void> {
|
||||
const settingsPath = path.join(this.userDataPath, 'User', 'settings.json');
|
||||
await new Promise((c, e) => fs.writeFile(settingsPath, '{}', 'utf8', err => err ? e(err) : c()));
|
||||
await new Promise((c, e) => fs.writeFile(settingsPath, '{\n}', 'utf8', err => err ? e(err) : c()));
|
||||
|
||||
await this.openSettings();
|
||||
await this.editor.waitForEditorContents('settings.json', c => c === '{}');
|
||||
|
|
|
@ -141,7 +141,8 @@ if (typeof stablePath === 'string' && !fs.existsSync(stablePath)) {
|
|||
fail(`Can't find Stable Code at ${stablePath}.`);
|
||||
}
|
||||
|
||||
const userDataDir = path.join(testDataPath, 'd');
|
||||
// TODO: Server should be launched from smoke tests
|
||||
const userDataDir = opts.web ? path.join(process.env.HOME!, '.vscode-remote/data') : path.join(testDataPath, 'd');
|
||||
|
||||
let quality: Quality;
|
||||
if (process.env.VSCODE_DEV === '1') {
|
||||
|
@ -245,6 +246,11 @@ describe('Running Code', () => {
|
|||
const app = new Application(this.defaultOptions);
|
||||
await app!.start(opts.web ? false : undefined);
|
||||
this.app = app;
|
||||
|
||||
// TODO: User data dir is not cleared for web yet
|
||||
if (opts.web) {
|
||||
await app.workbench.settingsEditor.clearUserSettings();
|
||||
}
|
||||
});
|
||||
|
||||
after(async function () {
|
||||
|
@ -273,7 +279,8 @@ describe('Running Code', () => {
|
|||
}
|
||||
|
||||
if (opts.web) {
|
||||
console.log('setup term tests only');
|
||||
setupDataExplorerTests();
|
||||
setupDataPreferencesTests();
|
||||
setupTerminalTests();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,13 @@ const height = 800;
|
|||
const vscodeToPuppeteerKey = {
|
||||
cmd: 'Meta',
|
||||
ctrl: 'Control',
|
||||
enter: 'Enter'
|
||||
enter: 'Enter',
|
||||
escape: 'Escape',
|
||||
right: 'ArrowRight',
|
||||
up: 'ArrowUp',
|
||||
down: 'ArrowDown',
|
||||
left: 'ArrowLeft',
|
||||
home: 'Home'
|
||||
};
|
||||
|
||||
function buildDriver(browser: puppeteer.Browser, page: puppeteer.Page): IDriver {
|
||||
|
@ -24,7 +30,12 @@ function buildDriver(browser: puppeteer.Browser, page: puppeteer.Page): IDriver
|
|||
reloadWindow: (windowId) => Promise.resolve(),
|
||||
exitApplication: () => browser.close(),
|
||||
dispatchKeybinding: async (windowId, keybinding) => {
|
||||
const keys = keybinding.split('+');
|
||||
const chords = keybinding.split(' ');
|
||||
chords.forEach(async (chord, index) => {
|
||||
if (index > 0) {
|
||||
await timeout(100);
|
||||
}
|
||||
const keys = chord.split('+');
|
||||
const keysDown: string[] = [];
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
if (keys[i] in vscodeToPuppeteerKey) {
|
||||
|
@ -36,6 +47,9 @@ function buildDriver(browser: puppeteer.Browser, page: puppeteer.Page): IDriver
|
|||
while (keysDown.length > 0) {
|
||||
await page.keyboard.up(keysDown.pop()!);
|
||||
}
|
||||
});
|
||||
|
||||
await timeout(100);
|
||||
},
|
||||
click: async (windowId, selector, xoffset, yoffset) => {
|
||||
const { x, y } = await page.evaluate(`
|
||||
|
|
Loading…
Reference in a new issue