UNPKG

svgedit

Version:

Powerful SVG-Editor for your browser

64 lines (55 loc) 2.34 kB
import { visitAndApproveStorage } from '../../support/ui-test-helper.js'; describe('UI - Clipboard', function () { beforeEach(() => { visitAndApproveStorage(); }); it('Editor - Copy and paste', () => { cy.get('#tool_source').click(); cy.get('#svg_source_textarea') .type('{selectall}', { force: true }) .type(`<svg width="640" height="480" xmlns="http://www.w3.org/2000/svg"> <g class="layer"> <title>Layer 1</title> <circle cx="100" cy="100" r="50" fill="#FF0000" id="testCircle" stroke="#000000" stroke-width="5"/> </g> </svg>`, { force: true, parseSpecialCharSequences: false }); cy.get('#tool_source_save').click(); cy.get('#testCircle').should('exist'); cy.get('#svg_1').should('not.exist'); cy.get('#svg_2').should('not.exist'); // Copy. cy.get('#testCircle').click().rightclick(); cy.get('#cmenu_canvas a[href="#copy"]').click({ force: true }); // Paste. // Scrollbars fail to recenter in Cypress test. Works fine in reality. // Thus forcing click is needed since workspace is mostly offscreen. cy.get('#svgroot').rightclick({ force: true }); cy.get('#cmenu_canvas a[href="#paste"]').click({ force: true }); cy.get('#testCircle').should('exist'); cy.get('#svg_1').should('exist'); cy.get('#svg_2').should('not.exist'); // Cut. cy.get('#testCircle').click().rightclick(); cy.get('#cmenu_canvas a[href="#cut"]').click({ force: true }); cy.get('#testCircle').should('not.exist'); cy.get('#svg_1').should('exist'); cy.get('#svg_2').should('not.exist'); // Paste. // Scrollbars fail to recenter in Cypress test. Works fine in reality. // Thus forcing click is needed since workspace is mostly offscreen. cy.get('#svgroot').rightclick({ force: true }); cy.get('#cmenu_canvas a[href="#paste"]').click({ force: true }); cy.get('#testCircle').should('not.exist'); cy.get('#svg_1').should('exist'); cy.get('#svg_2').should('exist'); // Delete. cy.get('#svg_2').click().rightclick(); cy.get('#cmenu_canvas a[href="#delete"]').click({ force: true }); cy.get('#svg_1').click().rightclick(); cy.get('#cmenu_canvas a[href="#delete"]').click({ force: true }); cy.get('#svg_1').should('not.exist'); cy.get('#svg_2').should('not.exist'); }); });