diff --git a/cypress/integration/control/checkbox.spec.ts b/cypress/integration/control/checkbox.spec.ts index f7d43cd..636331f 100644 --- a/cypress/integration/control/checkbox.spec.ts +++ b/cypress/integration/control/checkbox.spec.ts @@ -13,12 +13,6 @@ describe('控件-复选框', () => { it('复选框', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data[0] - - expect(data.control!.code).to.be.eq('98175') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -40,7 +34,11 @@ describe('控件-复选框', () => { } }]) - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data[0] + + expect(data.control!.code).to.be.eq('98175') }) }) diff --git a/cypress/integration/control/select.spec.ts b/cypress/integration/control/select.spec.ts index 07a55f6..5044b1f 100644 --- a/cypress/integration/control/select.spec.ts +++ b/cypress/integration/control/select.spec.ts @@ -14,14 +14,6 @@ describe('控件-列举型', () => { it('列举型', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data[0] - - expect(data.control!.value![0].value).to.be.eq(text) - - expect(data.control!.code).to.be.eq('98175') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -45,9 +37,18 @@ describe('控件-列举型', () => { cy.get('@canvas').type(`{leftArrow}`) - cy.get('.ce-select-control-popup li').eq(0).click() + cy.get('.ce-select-control-popup li') + .eq(0) + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data[0] + + expect(data.control!.value![0].value).to.be.eq(text) - cy.get('@canvas').type('{ctrl}s') + expect(data.control!.code).to.be.eq('98175') + }) }) }) diff --git a/cypress/integration/control/text.spec.ts b/cypress/integration/control/text.spec.ts index db98101..16706c5 100644 --- a/cypress/integration/control/text.spec.ts +++ b/cypress/integration/control/text.spec.ts @@ -14,12 +14,6 @@ describe('控件-文本型', () => { it('文本型', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data[0] - - expect(data.control!.value![0].value).to.be.eq(text) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -36,9 +30,15 @@ describe('控件-文本型', () => { cy.get('@canvas').type(`{leftArrow}`) - cy.get('.ce-inputarea').type(text) + cy.get('.ce-inputarea') + .type(text) + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data[0] - cy.get('@canvas').type('{ctrl}s') + expect(data.control!.value![0].value).to.be.eq(text) + }) }) }) diff --git a/cypress/integration/editor.spec.ts b/cypress/integration/editor.spec.ts index 04a1111..11609c1 100644 --- a/cypress/integration/editor.spec.ts +++ b/cypress/integration/editor.spec.ts @@ -12,17 +12,17 @@ describe('基础功能', () => { it('编辑保存', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - expect(payload.data[0].value).to.eq(text) - } - editor.command.executeSelectAll() editor.command.executeBackspace() - cy.get('@canvas').type(text) + cy.get('@canvas') + .type(text) + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type(`{ctrl}s`) + expect(payload.data[0].value).to.eq(text) + }) }) }) @@ -51,13 +51,7 @@ describe('基础功能', () => { }) it('字数统计', () => { - cy.getEditor().then((editor: Editor) => { - editor.listener.contentChange = async function () { - const wordCount = await editor.command.getWordCount() - - expect(7).to.be.eq(wordCount) - } - + cy.getEditor().then(async (editor: Editor) => { editor.command.executeSelectAll() editor.command.executeBackspace() @@ -65,6 +59,8 @@ describe('基础功能', () => { editor.command.executeInsertElementList([{ value: 'canvas-editor 2022 编辑器' }]) + + cy.get('.word-count').contains('7') }) }) diff --git a/cypress/integration/menus/block.spec.ts b/cypress/integration/menus/block.spec.ts index 4459896..56c3c0c 100644 --- a/cypress/integration/menus/block.spec.ts +++ b/cypress/integration/menus/block.spec.ts @@ -12,14 +12,6 @@ describe('菜单-内容块', () => { it('内容块', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('block') - - expect(data[0].block?.iframeBlock?.src).to.eq(url) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -32,9 +24,18 @@ describe('菜单-内容块', () => { cy.get('.dialog-option__item [name="value"]').type(url) - cy.get('.dialog-menu button').eq(1).click() + cy.get('.dialog-menu button') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].type).to.eq('block') - cy.get('@canvas').type('{ctrl}s') + expect(data[0].block?.iframeBlock?.src).to.eq(url) + }) }) }) diff --git a/cypress/integration/menus/checkbox.spec.ts b/cypress/integration/menus/checkbox.spec.ts index a475118..6a5ed07 100644 --- a/cypress/integration/menus/checkbox.spec.ts +++ b/cypress/integration/menus/checkbox.spec.ts @@ -12,12 +12,6 @@ describe('菜单-复选框', () => { it('代码块', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data[0] - - expect(data.checkbox?.value).to.eq(true) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -30,7 +24,11 @@ describe('菜单-复选框', () => { } }]) - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data[0] + + expect(data.checkbox?.value).to.eq(true) }) }) diff --git a/cypress/integration/menus/codeblock.spec.ts b/cypress/integration/menus/codeblock.spec.ts index d999f09..fdc325b 100644 --- a/cypress/integration/menus/codeblock.spec.ts +++ b/cypress/integration/menus/codeblock.spec.ts @@ -12,14 +12,6 @@ describe('菜单-代码块', () => { it('代码块', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data[2] - - expect(data.value).to.eq('log') - - expect(data.color).to.eq('#b9a40a') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -28,9 +20,18 @@ describe('菜单-代码块', () => { cy.get('.dialog-option [name="codeblock"]').type(text) - cy.get('.dialog-menu button').eq(1).click() + cy.get('.dialog-menu button') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data[2] + + expect(data.value).to.eq('log') - cy.get('@canvas').type('{ctrl}s') + expect(data.color).to.eq('#b9a40a') + }) }) }) diff --git a/cypress/integration/menus/date.spec.ts b/cypress/integration/menus/date.spec.ts index 07028c8..f8ed076 100644 --- a/cypress/integration/menus/date.spec.ts +++ b/cypress/integration/menus/date.spec.ts @@ -10,21 +10,22 @@ describe('菜单-日期选择器', () => { it('LaTeX', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('date') - } - editor.command.executeSelectAll() editor.command.executeBackspace() cy.get('.menu-item__date').click() - cy.get('.menu-item__date li').first().click() + cy.get('.menu-item__date li') + .first() + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].type).to.eq('date') + }) }) }) diff --git a/cypress/integration/menus/format.spec.ts b/cypress/integration/menus/format.spec.ts index 6b9580f..cbfb561 100644 --- a/cypress/integration/menus/format.spec.ts +++ b/cypress/integration/menus/format.spec.ts @@ -13,14 +13,6 @@ describe('菜单-清除格式', () => { it('清除格式', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].italic).to.eq(false) - - expect(data[0].bold).to.eq(false) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -36,7 +28,13 @@ describe('菜单-清除格式', () => { cy.get('.menu-item__format') .click() .then(() => { - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].italic).to.eq(false) + + expect(data[0].bold).to.eq(false) }) }) }) diff --git a/cypress/integration/menus/hyperlink.spec.ts b/cypress/integration/menus/hyperlink.spec.ts index 362144f..98d1d19 100644 --- a/cypress/integration/menus/hyperlink.spec.ts +++ b/cypress/integration/menus/hyperlink.spec.ts @@ -13,16 +13,6 @@ describe('菜单-超链接', () => { it('超链接', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('hyperlink') - - expect(data[0].url).to.eq(url) - - expect(data[0]?.valueList?.[0].value).to.eq(text) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -33,9 +23,20 @@ describe('菜单-超链接', () => { cy.get('.dialog-option__item [name="url"]').type(url) - cy.get('.dialog-menu button').eq(1).click() + cy.get('.dialog-menu button') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].type).to.eq('hyperlink') + + expect(data[0].url).to.eq(url) - cy.get('@canvas').type('{ctrl}s') + expect(data[0]?.valueList?.[0].value).to.eq(text) + }) }) }) diff --git a/cypress/integration/menus/image.spec.ts b/cypress/integration/menus/image.spec.ts index f335d85..d8961f4 100644 --- a/cypress/integration/menus/image.spec.ts +++ b/cypress/integration/menus/image.spec.ts @@ -10,18 +10,17 @@ describe('菜单-图片', () => { it('图片', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - expect(data[0].type).to.eq('image') - } - editor.command.executeSelectAll() editor.command.executeBackspace() cy.get('#image').attachFile('test.png') - cy.get('@canvas').type('{ctrl}s') + cy.wait(200).then(() => { + const payload = editor.command.getValue() + const data = payload.data + expect(data[0].type).to.eq('image') + }) }) }) diff --git a/cypress/integration/menus/latex.spec.ts b/cypress/integration/menus/latex.spec.ts index a52441c..1237ce2 100644 --- a/cypress/integration/menus/latex.spec.ts +++ b/cypress/integration/menus/latex.spec.ts @@ -12,14 +12,6 @@ describe('菜单-LaTeX', () => { it('LaTeX', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('latex') - - expect(data[0].value).to.eq(text) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -28,9 +20,18 @@ describe('菜单-LaTeX', () => { cy.get('.dialog-option__item [name="value"]').type(text) - cy.get('.dialog-menu button').eq(1).click() + cy.get('.dialog-menu button') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].type).to.eq('latex') - cy.get('@canvas').type('{ctrl}s') + expect(data[0].value).to.eq(text) + }) }) }) diff --git a/cypress/integration/menus/painter.spec.ts b/cypress/integration/menus/painter.spec.ts index 3877c00..fd5071a 100644 --- a/cypress/integration/menus/painter.spec.ts +++ b/cypress/integration/menus/painter.spec.ts @@ -13,16 +13,6 @@ describe('菜单-格式刷', () => { it('格式刷', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data.length).to.eq(1) - - expect(data[0].italic).to.eq(true) - - expect(data[0].bold).to.eq(true) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -46,7 +36,15 @@ describe('菜单-格式刷', () => { editor.command.executeApplyPainterStyle() - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data.length).to.eq(1) + + expect(data[0].italic).to.eq(true) + + expect(data[0].bold).to.eq(true) }) }) }) diff --git a/cypress/integration/menus/row.spec.ts b/cypress/integration/menus/row.spec.ts index cce1542..771ac6a 100644 --- a/cypress/integration/menus/row.spec.ts +++ b/cypress/integration/menus/row.spec.ts @@ -12,12 +12,6 @@ describe('菜单-行处理', () => { it('左对齐', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].rowFlex).to.eq('left') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -29,19 +23,17 @@ describe('菜单-行处理', () => { cy.get('.menu-item__left') .click() .then(() => { - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].rowFlex).to.eq('left') }) }) }) it('居中对齐', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].rowFlex).to.eq('center') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -53,19 +45,17 @@ describe('菜单-行处理', () => { cy.get('.menu-item__center') .click() .then(() => { - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].rowFlex).to.eq('center') }) }) }) it('靠右对齐', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].rowFlex).to.eq('right') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -77,19 +67,17 @@ describe('菜单-行处理', () => { cy.get('.menu-item__right') .click() .then(() => { - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].rowFlex).to.eq('right') }) }) }) it('行间距', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].rowMargin).to.eq(1.25) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -100,9 +88,17 @@ describe('菜单-行处理', () => { cy.get('.menu-item__row-margin').as('rowMargin').click() - cy.get('@rowMargin').find('li').eq(1).click() + cy.get('@rowMargin') + .find('li') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type('{ctrl}s') + const data = payload.data + + expect(data[0].rowMargin).to.eq(1.25) + }) }) }) diff --git a/cypress/integration/menus/search.spec.ts b/cypress/integration/menus/search.spec.ts index 7c1b624..cbeacd3 100644 --- a/cypress/integration/menus/search.spec.ts +++ b/cypress/integration/menus/search.spec.ts @@ -14,17 +14,6 @@ describe('菜单-搜索', () => { it('搜索', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - // 普通文本 - expect(data[0].value).to.be.eq(replaceText) - - // 表格内文本 - expect(data[1].trList![0].tdList[0].value[0].value).to.be.eq(replaceText) - expect(data[1].trList![1].tdList[1].value[0].value).to.be.eq(replaceText) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -100,9 +89,21 @@ describe('菜单-搜索', () => { cy.get('@replace').find('input').type(replaceText) - cy.get('@replace').find('button').click() + cy.get('@replace') + .find('button') + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data + + // 普通文本 + expect(data[0].value).to.be.eq(replaceText) - cy.get('@canvas').type('{ctrl}s') + // 表格内文本 + expect(data[1].trList![0].tdList[0].value[0].value).to.be.eq(replaceText) + expect(data[1].trList![1].tdList[1].value[0].value).to.be.eq(replaceText) + }) }) }) diff --git a/cypress/integration/menus/separator.spec.ts b/cypress/integration/menus/separator.spec.ts index 679bcd4..334e68f 100644 --- a/cypress/integration/menus/separator.spec.ts +++ b/cypress/integration/menus/separator.spec.ts @@ -10,25 +10,25 @@ describe('菜单-分割线', () => { it('分割线', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('separator') - - expect(data[0]?.dashArray?.[0]).to.eq(1) - - expect(data[0]?.dashArray?.[1]).to.eq(1) - } - editor.command.executeSelectAll() editor.command.executeBackspace() cy.get('.menu-item__separator').click() - cy.get('.menu-item__separator li').eq(1).click() + cy.get('.menu-item__separator li') + .eq(1) + .click() .then(() => { - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].type).to.eq('separator') + + expect(data[0]?.dashArray?.[0]).to.eq(1) + + expect(data[0]?.dashArray?.[1]).to.eq(1) }) }) }) diff --git a/cypress/integration/menus/table.spec.ts b/cypress/integration/menus/table.spec.ts index 4c66376..54325e7 100644 --- a/cypress/integration/menus/table.spec.ts +++ b/cypress/integration/menus/table.spec.ts @@ -10,21 +10,19 @@ describe('菜单-表格', () => { it('表格', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('table') - - expect(data[0].trList?.length).to.eq(8) - } - editor.command.executeSelectAll() editor.command.executeBackspace() editor.command.executeInsertTable(8, 8) - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].type).to.eq('table') + + expect(data[0].trList?.length).to.eq(8) }) }) diff --git a/cypress/integration/menus/text.spec.ts b/cypress/integration/menus/text.spec.ts index 143653d..f8890ef 100644 --- a/cypress/integration/menus/text.spec.ts +++ b/cypress/integration/menus/text.spec.ts @@ -13,12 +13,6 @@ describe('菜单-文本处理', () => { it('字体', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].font).to.eq('宋体') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -31,20 +25,22 @@ describe('菜单-文本处理', () => { cy.get('.menu-item__font').as('font').click() - cy.get('@font').find('li').eq(1).click() + cy.get('@font') + .find('li') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].font).to.eq('宋体') + }) }) }) it('字体增大', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].size).to.eq(18) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -55,20 +51,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__size-add').click() + cy.get('.menu-item__size-add') + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type('{ctrl}s') + const data = payload.data + + expect(data[0].size).to.eq(18) + }) }) }) it('字体减小', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].size).to.eq(14) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -79,20 +75,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__size-minus').click() + cy.get('.menu-item__size-minus') + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].size).to.eq(14) + }) }) }) it('加粗', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].bold).to.eq(true) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -103,20 +99,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__bold').click() + cy.get('.menu-item__bold') + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].bold).to.eq(true) + }) }) }) it('斜体', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].italic).to.eq(true) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -127,20 +123,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__italic').click() + cy.get('.menu-item__italic') + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type('{ctrl}s') + const data = payload.data + + expect(data[0].italic).to.eq(true) + }) }) }) it('下划线', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].underline).to.eq(true) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -151,20 +147,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__underline').click() + cy.get('.menu-item__underline') + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].underline).to.eq(true) + }) }) }) it('删除线', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].strikeout).to.eq(true) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -175,20 +171,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__strikeout').click() + cy.get('.menu-item__strikeout') + .click() + .then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].strikeout).to.eq(true) + }) }) }) it('上标', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('superscript') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -199,20 +195,20 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__superscript').click() + cy.get('.menu-item__superscript') + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type('{ctrl}s') + const data = payload.data + + expect(data[0].type).to.eq('superscript') + }) }) }) it('下标', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].type).to.eq('subscript') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -223,20 +219,18 @@ describe('菜单-文本处理', () => { editor.command.executeSetRange(0, textLength) - cy.get('.menu-item__subscript').click() + cy.get('.menu-item__subscript').click().then(() => { + const payload = editor.command.getValue() + + const data = payload.data - cy.get('@canvas').type('{ctrl}s') + expect(data[0].type).to.eq('subscript') + }) }) }) it('字体颜色', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].color).to.eq('red') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -249,18 +243,16 @@ describe('菜单-文本处理', () => { editor.command.executeColor('red') - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].color).to.eq('red') }) }) it('高亮', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const data = payload.data - - expect(data[0].highlight).to.eq('red') - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -273,7 +265,11 @@ describe('菜单-文本处理', () => { editor.command.executeHighlight('red') - cy.get('@canvas').type('{ctrl}s') + const payload = editor.command.getValue() + + const data = payload.data + + expect(data[0].highlight).to.eq('red') }) }) diff --git a/cypress/integration/menus/undoRedo.spec.ts b/cypress/integration/menus/undoRedo.spec.ts index b609605..c9fa2df 100644 --- a/cypress/integration/menus/undoRedo.spec.ts +++ b/cypress/integration/menus/undoRedo.spec.ts @@ -12,28 +12,24 @@ describe('菜单-撤销&重做', () => { it('撤销', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - expect(payload.data[0].value).to.eq(text) - } - editor.command.executeSelectAll() editor.command.executeBackspace() cy.get('@canvas').type(`${text}1`) - cy.get('.menu-item__undo').click() + cy.get('.menu-item__undo') + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type(`{ctrl}s`) + expect(payload.data[0].value).to.eq(text) + }) }) }) it('重做', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - expect(payload.data[0].value).to.eq(`${text}1`) - } - editor.command.executeSelectAll() editor.command.executeBackspace() @@ -42,9 +38,13 @@ describe('菜单-撤销&重做', () => { cy.get('.menu-item__undo').click() - cy.get('.menu-item__redo').click() + cy.get('.menu-item__redo') + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('@canvas').type(`{ctrl}s`) + expect(payload.data[0].value).to.eq(`${text}1`) + }) }) }) diff --git a/cypress/integration/menus/watermark.spec.ts b/cypress/integration/menus/watermark.spec.ts index a282dc8..12026f9 100644 --- a/cypress/integration/menus/watermark.spec.ts +++ b/cypress/integration/menus/watermark.spec.ts @@ -13,14 +13,6 @@ describe('菜单-水印', () => { it('添加水印', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const { watermark } = payload - - expect(watermark?.data).to.eq(text) - - expect(watermark?.size).to.eq(size) - } - cy.get('.menu-item__watermark').click() cy.get('.menu-item__watermark li').eq(0).click() @@ -33,27 +25,37 @@ describe('菜单-水印', () => { cy.get('@size').type(`${size}`) - cy.get('.dialog-menu button').eq(1).click() + cy.get('.dialog-menu button') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() + + const { watermark } = payload - cy.get('@canvas').type('{ctrl}s') + expect(watermark?.data).to.eq(text) + + expect(watermark?.size).to.eq(size) + }) }) }) it('删除水印', () => { cy.getEditor().then((editor: Editor) => { - editor.listener.saved = function (payload) { - const { watermark } = payload - - expect(watermark?.data).to.eq(undefined) + cy.get('.menu-item__watermark').click() - expect(watermark?.size).to.eq(undefined) - } + cy.get('.menu-item__watermark li') + .eq(1) + .click() + .then(() => { + const payload = editor.command.getValue() - cy.get('.menu-item__watermark').click() + const { watermark } = payload - cy.get('.menu-item__watermark li').eq(1).click() + expect(watermark?.data).to.eq(undefined) - cy.get('@canvas').type('{ctrl}s') + expect(watermark?.size).to.eq(undefined) + }) }) })