You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

304 lines
6.3 KiB

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.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()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].font).to.eq('华文宋体')
})
})
})
it('字号设置', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__size').as('size').click()
cy.get('@size')
.find('li')
.eq(0)
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].size).to.eq(56)
})
})
})
it('字体增大', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__size-add')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].size).to.eq(18)
})
})
})
it('字体减小', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__size-minus')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].size).to.eq(14)
})
})
})
it('加粗', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__bold')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].bold).to.eq(true)
})
})
})
it('斜体', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__italic')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].italic).to.eq(true)
})
})
})
it('下划线', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__underline')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].underline).to.eq(true)
})
})
})
it('删除线', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__strikeout')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].strikeout).to.eq(true)
})
})
})
it('上标', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__superscript')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].type).to.eq('superscript')
})
})
})
it('下标', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
cy.get('.menu-item__subscript')
.click()
.then(() => {
const data = editor.command.getValue().data.main
expect(data[0].type).to.eq('subscript')
})
})
})
it('字体颜色', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
editor.command.executeColor('red')
const data = editor.command.getValue().data.main
expect(data[0].color).to.eq('red')
})
})
it('高亮', () => {
cy.getEditor().then((editor: Editor) => {
editor.command.executeSelectAll()
editor.command.executeBackspace()
editor.command.executeInsertElementList([
{
value: text
}
])
editor.command.executeSetRange(0, textLength)
editor.command.executeHighlight('red')
const data = editor.command.getValue().data.main
expect(data[0].highlight).to.eq('red')
})
})
})