mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-29 17:23:25 -05:00
* Fix initial build breaks from 1.67 merge (#2514) * Update yarn lock files * Update build scripts * Fix tsconfig * Build breaks * WIP * Update yarn lock files * Misc breaks * Updates to package.json * Breaks * Update yarn * Fix breaks * Breaks * Build breaks * Breaks * Breaks * Breaks * Breaks * Breaks * Missing file * Breaks * Breaks * Breaks * Breaks * Breaks * Fix several runtime breaks (#2515) * Missing files * Runtime breaks * Fix proxy ordering issue * Remove commented code * Fix breaks with opening query editor * Fix post merge break * Updates related to setup build and other breaks (#2516) * Fix bundle build issues * Update distro * Fix distro merge and update build JS files * Disable pipeline steps * Remove stats call * Update license name * Make new RPM dependencies a warning * Fix extension manager version checks * Update JS file * Fix a few runtime breaks * Fixes * Fix runtime issues * Fix build breaks * Update notebook tests (part 1) * Fix broken tests * Linting errors * Fix hygiene * Disable lint rules * Bump distro * Turn off smoke tests * Disable integration tests * Remove failing "activate" test * Remove failed test assertion * Disable other broken test * Disable query history tests * Disable extension unit tests * Disable failing tasks
68 lines
2.4 KiB
TypeScript
68 lines
2.4 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { Code } from './code';
|
|
|
|
export const enum StatusBarElement {
|
|
BRANCH_STATUS = 0,
|
|
SYNC_STATUS = 1,
|
|
PROBLEMS_STATUS = 2,
|
|
SELECTION_STATUS = 3,
|
|
INDENTATION_STATUS = 4,
|
|
ENCODING_STATUS = 5,
|
|
EOL_STATUS = 6,
|
|
LANGUAGE_STATUS = 7,
|
|
FEEDBACK_ICON = 8
|
|
}
|
|
|
|
export class StatusBar {
|
|
|
|
private readonly mainSelector = 'footer[id="workbench.parts.statusbar"]';
|
|
|
|
constructor(private code: Code) { }
|
|
|
|
async waitForStatusbarElement(element: StatusBarElement): Promise<void> {
|
|
await this.code.waitForElement(this.getSelector(element));
|
|
}
|
|
|
|
async clickOn(element: StatusBarElement): Promise<void> {
|
|
await this.code.waitAndClick(this.getSelector(element));
|
|
}
|
|
|
|
async waitForEOL(eol: string): Promise<string> {
|
|
return this.code.waitForTextContent(this.getSelector(StatusBarElement.EOL_STATUS), eol);
|
|
}
|
|
|
|
// {{SQL CARBON EDIT}} Add retryCount, selecting status bar text with id instead of title.
|
|
async waitForStatusbarText(id: string, text: string, retryCount?: number): Promise<void> {
|
|
await this.code.waitForTextContent(`${this.mainSelector} .statusbar-item[id="${id}"]`, text, undefined, retryCount);
|
|
}
|
|
|
|
private getSelector(element: StatusBarElement): string {
|
|
switch (element) {
|
|
case StatusBarElement.BRANCH_STATUS:
|
|
return `.statusbar-item[id^="status.scm."] .codicon.codicon-git-branch`;
|
|
case StatusBarElement.SYNC_STATUS:
|
|
return `.statusbar-item[id^="status.scm."] .codicon.codicon-sync`;
|
|
case StatusBarElement.PROBLEMS_STATUS:
|
|
return `.statusbar-item[id="status.problems"]`;
|
|
case StatusBarElement.SELECTION_STATUS:
|
|
return `.statusbar-item[id="status.editor.selection"]`;
|
|
case StatusBarElement.INDENTATION_STATUS:
|
|
return `.statusbar-item[id="status.editor.indentation"]`;
|
|
case StatusBarElement.ENCODING_STATUS:
|
|
return `.statusbar-item[id="status.editor.encoding"]`;
|
|
case StatusBarElement.EOL_STATUS:
|
|
return `.statusbar-item[id="status.editor.eol"]`;
|
|
case StatusBarElement.LANGUAGE_STATUS:
|
|
return `.statusbar-item[id="status.editor.mode"]`;
|
|
case StatusBarElement.FEEDBACK_ICON:
|
|
return `.statusbar-item[id="status.feedback"]`;
|
|
default:
|
|
throw new Error(element);
|
|
}
|
|
}
|
|
}
|