mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Merge from vscode 8e0f348413f4f616c23a88ae30030efa85811973 (#6381)
* Merge from vscode 8e0f348413f4f616c23a88ae30030efa85811973 * disable strict null check
This commit is contained in:
@@ -47,6 +47,10 @@ export class Application {
|
||||
return this.options.logger;
|
||||
}
|
||||
|
||||
get remote(): boolean {
|
||||
return !!this.options.remote;
|
||||
}
|
||||
|
||||
private _workspacePathOrFolder: string;
|
||||
get workspacePathOrFolder(): string {
|
||||
return this._workspacePathOrFolder;
|
||||
@@ -142,8 +146,12 @@ export class Application {
|
||||
await this.code.waitForWindowIds(ids => ids.length > 0);
|
||||
await this.code.waitForElement('.monaco-workbench');
|
||||
|
||||
if (this.remote) {
|
||||
await this.code.waitForElement('.monaco-workbench .statusbar-item[title="Editing on TestResolver"]');
|
||||
}
|
||||
|
||||
// wait a bit, since focus might be stolen off widgets
|
||||
// as soon as they open (eg quick open)
|
||||
// as soon as they open (e.g. quick open)
|
||||
await new Promise(c => setTimeout(c, 1000));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export class References {
|
||||
private static readonly REFERENCES_WIDGET = '.monaco-editor .zone-widget .zone-widget-container.peekview-widget.reference-zone-widget.results-loaded';
|
||||
private static readonly REFERENCES_TITLE_FILE_NAME = `${References.REFERENCES_WIDGET} .head .peekview-title .filename`;
|
||||
private static readonly REFERENCES_TITLE_COUNT = `${References.REFERENCES_WIDGET} .head .peekview-title .meta`;
|
||||
private static readonly REFERENCES = `${References.REFERENCES_WIDGET} .body .ref-tree.inline .monaco-list-row .reference`;
|
||||
private static readonly REFERENCES = `${References.REFERENCES_WIDGET} .body .ref-tree.inline .monaco-list-row .highlight`;
|
||||
|
||||
constructor(private code: Code) { }
|
||||
|
||||
|
||||
@@ -20,6 +20,10 @@ export function setup() {
|
||||
await app.workbench.extensions.installExtension('michelkaporin.vscode-smoketest-check', 'vscode-smoketest-check');
|
||||
|
||||
await app.workbench.extensions.waitForExtensionsViewlet();
|
||||
|
||||
if (app.remote) {
|
||||
await app.reload();
|
||||
}
|
||||
await app.workbench.quickopen.runCommand('Smoke Test Check');
|
||||
await app.workbench.statusbar.waitForStatusbarText('smoke test', 'VS Code Smoke Test Check');
|
||||
});
|
||||
|
||||
@@ -7,7 +7,7 @@ import * as cp from 'child_process';
|
||||
import { Application } from '../../application';
|
||||
|
||||
const DIFF_EDITOR_LINE_INSERT = '.monaco-diff-editor .editor.modified .line-insert';
|
||||
const SYNC_STATUSBAR = 'div[id="workbench.parts.statusbar"] .statusbar-entry a[title$="Synchronize Changes"]';
|
||||
const SYNC_STATUSBAR = 'div[id="workbench.parts.statusbar"] .statusbar-item[title$="Synchronize Changes"]';
|
||||
|
||||
export function setup() {
|
||||
describe('Git', () => {
|
||||
|
||||
@@ -47,7 +47,8 @@ export function setup() {
|
||||
const app = this.app as Application;
|
||||
await app.workbench.quickopen.openQuickOpen('*.*');
|
||||
|
||||
await app.workbench.quickopen.waitForQuickOpenElements(names => names.length === 6);
|
||||
// TODO roblourens: Go to files finds welcome page: issue 74875
|
||||
await app.workbench.quickopen.waitForQuickOpenElements(names => names.length === 6 || names.length === 7);
|
||||
await app.workbench.quickopen.closeQuickOpen();
|
||||
});
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ export class Problems {
|
||||
}
|
||||
|
||||
public static getSelectorInProblemsView(problemType: ProblemSeverity): string {
|
||||
let selector = problemType === ProblemSeverity.WARNING ? 'warning' : 'error';
|
||||
let selector = problemType === ProblemSeverity.WARNING ? 'severity-warning' : 'severity-error';
|
||||
return `div[id="workbench.panel.markers"] .monaco-tl-contents .marker-icon.${selector}`;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ export class StatusBar {
|
||||
}
|
||||
|
||||
async waitForStatusbarText(title: string, text: string): Promise<void> {
|
||||
await this.code.waitForTextContent(`${this.mainSelector} span[title="${title}"]`, text);
|
||||
await this.code.waitForTextContent(`${this.mainSelector} .statusbar-item[title="${title}"]`, text);
|
||||
}
|
||||
|
||||
private getSelector(element: StatusBarElement): string {
|
||||
@@ -48,17 +48,17 @@ export class StatusBar {
|
||||
case StatusBarElement.SYNC_STATUS:
|
||||
return `${this.mainSelector} ${this.leftSelector} .octicon.octicon-sync`;
|
||||
case StatusBarElement.PROBLEMS_STATUS:
|
||||
return `${this.mainSelector} ${this.leftSelector} .task-statusbar-item[title="Problems"]`;
|
||||
return `${this.mainSelector} ${this.leftSelector} .octicon.octicon-error`;
|
||||
case StatusBarElement.SELECTION_STATUS:
|
||||
return `${this.mainSelector} ${this.rightSelector} .editor-status-selection`;
|
||||
return `${this.mainSelector} ${this.rightSelector}[title="Go to Line"]`;
|
||||
case StatusBarElement.INDENTATION_STATUS:
|
||||
return `${this.mainSelector} ${this.rightSelector} .editor-status-indentation`;
|
||||
return `${this.mainSelector} ${this.rightSelector}[title="Select Indentation"]`;
|
||||
case StatusBarElement.ENCODING_STATUS:
|
||||
return `${this.mainSelector} ${this.rightSelector} .editor-status-encoding`;
|
||||
return `${this.mainSelector} ${this.rightSelector}[title="Select Encoding"]`;
|
||||
case StatusBarElement.EOL_STATUS:
|
||||
return `${this.mainSelector} ${this.rightSelector} .editor-status-eol`;
|
||||
return `${this.mainSelector} ${this.rightSelector}[title="Select End of Line Sequence"]`;
|
||||
case StatusBarElement.LANGUAGE_STATUS:
|
||||
return `${this.mainSelector} ${this.rightSelector} .editor-status-mode`;
|
||||
return `${this.mainSelector} ${this.rightSelector}[title="Select Language Mode"]`;
|
||||
case StatusBarElement.FEEDBACK_ICON:
|
||||
return `${this.mainSelector} ${this.rightSelector} .monaco-dropdown.send-feedback`;
|
||||
default:
|
||||
|
||||
@@ -37,7 +37,7 @@ export function setup() {
|
||||
await app.workbench.scm.waitForTitle(title => /quellcodeverwaltung/i.test(title));
|
||||
|
||||
await app.workbench.debug.openDebugViewlet();
|
||||
await app.workbench.debug.waitForTitle(title => /debuggen/i.test(title));
|
||||
await app.workbench.debug.waitForTitle(title => /debug/i.test(title));
|
||||
|
||||
await app.workbench.extensions.openExtensionsViewlet();
|
||||
await app.workbench.extensions.waitForTitle(title => /erweiterungen/i.test(title));
|
||||
|
||||
@@ -164,7 +164,12 @@ async function setupRepository(): Promise<void> {
|
||||
console.log('*** Copying test project repository:', opts['test-repo']);
|
||||
rimraf.sync(workspacePath);
|
||||
// not platform friendly
|
||||
cp.execSync(`cp -R "${opts['test-repo']}" "${workspacePath}"`);
|
||||
if (process.platform === 'win32') {
|
||||
cp.execSync(`xcopy /E "${opts['test-repo']}" "${workspacePath}"\\*`);
|
||||
} else {
|
||||
cp.execSync(`cp -R "${opts['test-repo']}" "${workspacePath}"`);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (!fs.existsSync(workspacePath)) {
|
||||
console.log('*** Cloning test project repository...');
|
||||
|
||||
@@ -7,10 +7,12 @@ import * as path from 'path';
|
||||
import * as cp from 'child_process';
|
||||
import * as os from 'os';
|
||||
import * as fs from 'fs';
|
||||
import * as mkdirp from 'mkdirp';
|
||||
import { tmpName } from 'tmp';
|
||||
import { IDriver, connect as connectDriver, IDisposable, IElement, Thenable } from './driver';
|
||||
import { Logger } from '../logger';
|
||||
import { ncp } from 'ncp';
|
||||
import { URI } from 'vscode-uri';
|
||||
|
||||
const repoPath = path.join(__dirname, '../../../..');
|
||||
|
||||
@@ -123,13 +125,12 @@ export async function spawn(options: SpawnOptions): Promise<Code> {
|
||||
'--driver', handle
|
||||
];
|
||||
|
||||
const env = process.env;
|
||||
|
||||
if (options.remote) {
|
||||
// Replace workspace path with URI
|
||||
args.shift();
|
||||
args.push(
|
||||
`--${options.workspacePath.endsWith('.code-workspace') ? 'file' : 'folder'}-uri`,
|
||||
`vscode-remote://test+test${options.workspacePath}`,
|
||||
);
|
||||
args[0] = `--${options.workspacePath.endsWith('.code-workspace') ? 'file' : 'folder'}-uri=vscode-remote://test+test/${URI.file(options.workspacePath).path}`;
|
||||
|
||||
if (codePath) {
|
||||
// running against a build: copy the test resolver extension
|
||||
const testResolverExtPath = path.join(options.extensionsPath, 'vscode-test-resolver');
|
||||
@@ -139,6 +140,9 @@ export async function spawn(options: SpawnOptions): Promise<Code> {
|
||||
}
|
||||
}
|
||||
args.push('--enable-proposed-api=vscode.vscode-test-resolver');
|
||||
const remoteDataDir = `${options.userDataDir}-server`;
|
||||
mkdirp.sync(remoteDataDir);
|
||||
env['TESTRESOLVER_DATA_FOLDER'] = remoteDataDir;
|
||||
}
|
||||
|
||||
if (!codePath) {
|
||||
@@ -157,7 +161,7 @@ export async function spawn(options: SpawnOptions): Promise<Code> {
|
||||
args.push(...options.extraArgs);
|
||||
}
|
||||
|
||||
const spawnOptions: cp.SpawnOptions = {};
|
||||
const spawnOptions: cp.SpawnOptions = { env };
|
||||
|
||||
const child = cp.spawn(electronPath, args, spawnOptions);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user