context('/demos/Marks/Italic', () => { before(() => { cy.visit('/demos/Marks/Italic') }) beforeEach(() => { cy.get('.ProseMirror').then(([{ editor }]) => { editor.commands.setContent('

Example Text

') cy.get('.ProseMirror').type('{selectall}') }) }) it('i tags should be transformed to em tags', () => { cy.get('.ProseMirror').then(([{ editor }]) => { editor.commands.setContent('

Example Text

') expect(editor.getHTML()).to.eq('

Example Text

') }) }) it('i tags with normal font style should be omitted', () => { cy.get('.ProseMirror').then(([{ editor }]) => { editor.commands.setContent('

Example Text

') expect(editor.getHTML()).to.eq('

Example Text

') }) }) it('generic tags with italic style should be transformed to strong tags', () => { cy.get('.ProseMirror').then(([{ editor }]) => { editor.commands.setContent('

Example Text

') expect(editor.getHTML()).to.eq('

Example Text

') }) }) it('the button should make the selected text italic', () => { cy.get('button:first') .click() cy.get('.ProseMirror') .find('em') .should('contain', 'Example Text') }) it('the button should toggle the selected text italic', () => { cy.get('button:first') .click() cy.get('.ProseMirror') .type('{selectall}') cy.get('button:first') .click() cy.get('.ProseMirror em') .should('not.exist') }) it('the keyboard shortcut should make the selected text italic', () => { cy.get('.ProseMirror') .trigger('keydown', { modKey: true, key: 'i' }) .find('em') .should('contain', 'Example Text') }) it('the keyboard shortcut should toggle the selected text italic', () => { cy.get('.ProseMirror') .trigger('keydown', { modKey: true, key: 'i' }) .trigger('keydown', { modKey: true, key: 'i' }) .find('em') .should('not.exist') }) })