From 23579b910dc0684866620bfb3ad2e70746710641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E4=BA=91=E9=A3=9E?= Date: Wed, 16 Mar 2022 18:17:05 +0800 Subject: [PATCH] feat:add text test case --- cypress/integration/menus/text.spec.ts | 280 +++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 cypress/integration/menus/text.spec.ts diff --git a/cypress/integration/menus/text.spec.ts b/cypress/integration/menus/text.spec.ts new file mode 100644 index 0000000..143653d --- /dev/null +++ b/cypress/integration/menus/text.spec.ts @@ -0,0 +1,280 @@ +import Editor from '../../../src/editor' + +describe('菜单-文本处理', () => { + + beforeEach(() => { + cy.visit('http://localhost:3000/canvas-editor/') + + cy.get('canvas').first().as('canvas').should('have.length', 1) + }) + + const text = 'canvas-editor' + const textLength = text.length + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__font').as('font').click() + + cy.get('@font').find('li').eq(1).click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__size-add').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__size-minus').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__bold').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__italic').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__underline').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__strikeout').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__superscript').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + cy.get('.menu-item__subscript').click() + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + editor.command.executeColor('red') + + cy.get('@canvas').type('{ctrl}s') + }) + }) + + 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() + + editor.command.executeInsertElementList([{ + value: text + }]) + + editor.command.executeSetRange(0, textLength) + + editor.command.executeHighlight('red') + + cy.get('@canvas').type('{ctrl}s') + }) + }) + +})