cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js | 226 ++++++++++ 1 file changed, 226 insertions(+)
New commits: commit f16e27c0490aee59bb1e67af3561e9fbaad8d1ff Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Mon Jun 15 13:21:33 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Mon Jun 15 14:44:19 2020 +0200 cypress: add tests for Edit menu items (writer, mobile). Change-Id: Iec7c244f34f1c7c7bbf55c22db71d72278553cef Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96329 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js index e42512c3d..c024c286b 100644 --- a/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js +++ b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js @@ -18,6 +18,232 @@ describe('Trigger hamburger menu options.', function() { helper.afterAll(testFileName); }); + it('Undo/redo.', function() { + // Type a new character + cy.get('textarea.clipboard') + .type('{q}'); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('contain.text', 'q'); + + // Undo + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Undo') + .click(); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('not.contain.text', 'q'); + + // Redo + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Redo') + .click(); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('contain.text', 'q'); + }); + + it('Repair.', function() { + // First change + cy.get('textarea.clipboard') + .type('{q}'); + + // Second change + cy.get('textarea.clipboard') + .type('{w}'); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('contain.text', 'qw'); + + // Undo + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Undo') + .click(); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('not.contain.text', 'w'); + + // Revert one undo step via Repair + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Repair') + .click(); + + cy.get('.leaflet-popup-content') + .should('be.visible'); + + cy.get('.leaflet-popup-content table tr:nth-of-type(2)') + .should('contain.text', 'Redo'); + + cy.get('.leaflet-popup-content table tr:nth-of-type(3)') + .should('contain.text', 'Undo'); + + cy.get('.leaflet-popup-content table tr:nth-of-type(2)') + .click(); + + cy.get('.leaflet-popup-content input[value=\'Jump to state\']') + .click(); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('contain.text', 'qw'); + + // Revert to the initial state via Repair + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Repair') + .click(); + + cy.get('.leaflet-popup-content') + .should('be.visible'); + + cy.get('.leaflet-popup-content table tr:nth-of-type(2)') + .should('contain.text', 'Undo'); + + cy.get('.leaflet-popup-content table tr:nth-of-type(3)') + .should('contain.text', 'Undo'); + + cy.get('.leaflet-popup-content table tr:nth-of-type(3)') + .click(); + + cy.get('.leaflet-popup-content input[value=\'Jump to state\']') + .click(); + + writerMobileHelper.selectAllMobile(); + + cy.get('#copy-paste-container p') + .should('not.contain.text', 'q'); + + cy.get('#copy-paste-container p') + .should('not.contain.text', 'w'); + }); + + it('Cut.', function() { + writerMobileHelper.selectAllMobile(); + + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Cut') + .click(); + + // TODO: cypress does not support clipboard operations + // so we get a warning dialog here. + cy.get('.vex-dialog-form') + .should('be.visible'); + + cy.get('.vex-dialog-message') + .should('have.text', 'Please use the copy/paste buttons on your on-screen keyboard.'); + + cy.get('.vex-dialog-button-primary.vex-dialog-button.vex-first') + .click(); + + cy.get('.vex-dialog-form') + .should('not.be.visible'); + }); + + it('Copy.', function() { + writerMobileHelper.selectAllMobile(); + + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Copy') + .click(); + + // TODO: cypress does not support clipboard operations + // so we get a warning dialog here. + cy.get('.vex-dialog-form') + .should('be.visible'); + + cy.get('.vex-dialog-message') + .should('have.text', 'Please use the copy/paste buttons on your on-screen keyboard.'); + + cy.get('.vex-dialog-button-primary.vex-dialog-button.vex-first') + .click(); + + cy.get('.vex-dialog-form') + .should('not.be.visible'); + }); + + it('Paste.', function() { + writerMobileHelper.selectAllMobile(); + + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Paste') + .click(); + + // TODO: cypress does not support clipboard operations + // so we get a warning dialog here. + cy.get('.vex-dialog-form') + .should('be.visible'); + + cy.get('.vex-dialog-message') + .should('have.text', 'Please use the copy/paste buttons on your on-screen keyboard.'); + + cy.get('.vex-dialog-button-primary.vex-dialog-button.vex-first') + .click(); + + cy.get('.vex-dialog-form') + .should('not.be.visible'); + }); + + it('Select all.', function() { + cy.get('#copy-paste-container p') + .should('not.contain.text', 'xxxxxx'); + + mobileHelper.openHamburgerMenu(); + + cy.contains('.menu-entry-with-icon', 'Edit') + .click(); + + cy.contains('.menu-entry-with-icon', 'Select All') + .click(); + + cy.get('.leaflet-marker-icon') + .should('be.visible'); + + cy.get('#copy-paste-container p') + .should('contain.text', 'xxxxxx'); + }); + it('Enable track changes recording.', function() { mobileHelper.openHamburgerMenu(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits