Add smoke test for converting from Rich Text to Markdown. (#19151)

This commit is contained in:
Cory Rivera
2022-04-19 17:28:54 -07:00
committed by GitHub
parent bf82204453
commit 40a2181953
2 changed files with 31 additions and 3 deletions

View File

@@ -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');
}

View File

@@ -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 = '![Churn-Index](https://www.ngdata.com/wp-content/uploads/2016/05/churn.jpg)';
@@ -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 () {