mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-13 17:22:15 -05:00
Add smoke test for converting from Rich Text to Markdown. (#19151)
This commit is contained in:
@@ -68,10 +68,10 @@ export class Notebook {
|
||||
await this.code.waitForActiveElement(textarea);
|
||||
|
||||
await this.code.waitForTypeInEditor(textarea, text);
|
||||
await this._waitForActiveCellEditorContents(c => c.indexOf(text) > -1);
|
||||
await this.waitForActiveCellEditorContents(c => c.indexOf(text) > -1);
|
||||
}
|
||||
|
||||
private async _waitForActiveCellEditorContents(accept: (contents: string) => boolean): Promise<any> {
|
||||
async waitForActiveCellEditorContents(accept: (contents: string) => boolean): Promise<any> {
|
||||
const selector = '.notebook-cell.active .monaco-editor .view-lines';
|
||||
return this.code.waitForTextContent(selector, undefined, c => accept(c.replace(/\u00a0/g, ' ')));
|
||||
}
|
||||
@@ -81,9 +81,18 @@ export class Notebook {
|
||||
await this.code.waitForElement(span);
|
||||
}
|
||||
|
||||
public async selectAllTextInRichTextEditor(): Promise<void> {
|
||||
const editor = '.notebook-cell.active .notebook-preview[contenteditable="true"]';
|
||||
await this.selectAllText(editor);
|
||||
}
|
||||
|
||||
public async selectAllTextInEditor(): Promise<void> {
|
||||
const editor = '.notebook-cell.active .monaco-editor';
|
||||
await this.code.waitAndClick(editor);
|
||||
await this.selectAllText(editor);
|
||||
}
|
||||
|
||||
private async selectAllText(selector: string): Promise<void> {
|
||||
await this.code.waitAndClick(selector);
|
||||
await this.code.dispatchKeybinding(ctrlOrCmd + '+a');
|
||||
}
|
||||
|
||||
|
||||
@@ -326,6 +326,7 @@ export function setup(opts: minimist.ParsedArgs) {
|
||||
const linkSelector = '.notebook-cell.active .notebook-text a[href=\'http://www.microsoft.com\']';
|
||||
await verifyElementRendered(app, markdownString, linkSelector);
|
||||
});
|
||||
|
||||
it('can create img from markdown', async function () {
|
||||
const app = this.app as Application;
|
||||
const markdownString = '';
|
||||
@@ -333,6 +334,24 @@ export function setup(opts: minimist.ParsedArgs) {
|
||||
const imgSelector = '.notebook-cell.active .notebook-text img[src=\'https://www.ngdata.com/wp-content/uploads/2016/05/churn.jpg\'][alt=\'Churn-Index\']';
|
||||
await verifyElementRendered(app, markdownString, imgSelector);
|
||||
});
|
||||
|
||||
it('can convert WYSIWYG to Markdown', async function () {
|
||||
const app = this.app as Application;
|
||||
await app.workbench.sqlNotebook.newUntitledNotebook();
|
||||
await app.workbench.sqlNotebook.addCellFromPlaceholder('Markdown');
|
||||
await app.workbench.sqlNotebook.waitForPlaceholderGone();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.changeTextCellView('Markdown View');
|
||||
await app.workbench.sqlNotebook.waitForTypeInEditor('Markdown Test');
|
||||
await app.workbench.sqlNotebook.textCellToolbar.changeTextCellView('Rich Text View');
|
||||
await app.workbench.sqlNotebook.selectAllTextInRichTextEditor();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.boldSelectedText();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.italicizeSelectedText();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.underlineSelectedText();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.highlightSelectedText();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.insertList();
|
||||
await app.workbench.sqlNotebook.textCellToolbar.changeTextCellView('Markdown View');
|
||||
await app.workbench.sqlNotebook.waitForActiveCellEditorContents(s => s.includes('- **_<u><mark>Markdown Test</mark></u>_**'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('Cell Actions', function () {
|
||||
|
||||
Reference in New Issue
Block a user