cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js | 178 ++++++++++ 1 file changed, 178 insertions(+)
New commits: commit 15581bb362b0b243be735f5b1c2f5847e900ee9f Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Mon May 25 11:07:35 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Mon May 25 11:42:13 2020 +0200 cypress: add tests for insertion of text fields in impress (mobile) A bug here, that the text fields are inserted at the corner of the slide and so they are hanging out of the slide. Change-Id: I5bc895d1c73338cf41e5c896cbdb4ea5cfd5ddd0 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94776 Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js b/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js index fce6c0df8..0911a01f8 100644 --- a/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js +++ b/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js @@ -16,6 +16,43 @@ describe('Impress insertion wizard.', function() { helper.afterAll('insertion_wizard.odp'); }); + function selectTextOfShape() { + // Double click onto the selected shape + cy.get('svg g .leaflet-interactive') + .then(function(items) { + expect(items).to.have.length(1); + var XPos = (items[0].getBoundingClientRect().left + items[0].getBoundingClientRect().right) / 2; + var YPos = (items[0].getBoundingClientRect().top + items[0].getBoundingClientRect().bottom) / 2; + cy.get('body') + .dblclick(XPos, YPos); + }); + + cy.get('.leaflet-cursor.blinking-cursor') + .should('exist'); + + helper.selectAllText(false); + } + + function selectionShouldBeTextShape() { + // Check that the shape is there + cy.get('.leaflet-pane.leaflet-overlay-pane svg') + .should(function(svg) { + expect(svg[0].getBBox().width).to.be.greaterThan(0); + expect(svg[0].getBBox().height).to.be.greaterThan(0); + }); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page g') + .should('have.class', 'com.sun.star.drawing.TextShape'); + + // Check also that the shape is fully visible + // TODO: shapes are hungs out of the slide after insertion + /*cy.get('svg g .leaflet-interactive') + .should(function(items) { + expect(items.offset().top).to.be.greaterThan(0); + expect(items.offset().left).to.be.greaterThan(0); + });*/ + } + it('Check existence of image insertion items.', function() { cy.contains('.menu-entry-with-icon', 'Local Image...') .should('be.visible'); @@ -140,4 +177,145 @@ describe('Impress insertion wizard.', function() { expect(svg[0].getBBox().height).to.be.greaterThan(0); }); }); + + it('Insert text box.', function() { + cy.contains('.menu-entry-with-icon', 'Text Box') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + helper.expectTextForClipboard('Tap to edit text'); + }); + + it('Insert date field (fixed).', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Date (fixed)') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + // Check that we have a date in MM/DD/YY format + var regex = /\d{1,2}[/]\d{1,2}[/]\d{1,2}/; + cy.get('#copy-paste-container pre') + .invoke('text') + .should('match', regex); + }); + + it('Insert date field (variable).', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Date (variable)') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + // Check that we have a date in MM/DD/YY format + var regex = /\d{1,2}[/]\d{1,2}[/]\d{1,2}/; + cy.get('#copy-paste-container pre') + .invoke('text') + .should('match', regex); + }); + + it('Insert time field (fixed).', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Time (fixed)') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + // Check that we have a time in HH/MM/SS format + var regex = /\d{1,2}[:]\d{1,2}[:]\d{1,2}/; + cy.get('#copy-paste-container pre') + .invoke('text') + .should('match', regex); + }); + + it('Insert time field (variable).', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Time (variable)') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + // Check that we have a time in HH/MM/SS format + var regex = /\d{1,2}[:]\d{1,2}[:]\d{1,2}/; + cy.get('#copy-paste-container pre') + .invoke('text') + .should('match', regex); + }); + + it('Insert slide number.', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Slide Number') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + helper.expectTextForClipboard('1'); + }); + + it('Insert slide title.', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Slide Title') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + helper.expectTextForClipboard('Slide 1'); + }); + + it('Insert slide count.', function() { + cy.contains('.menu-entry-with-icon', 'More Fields...') + .click(); + + cy.contains('.menu-entry-with-icon', 'Slide Count') + .click(); + + // Check that the shape is there + selectionShouldBeTextShape(); + + // Check the text + selectTextOfShape(); + + helper.expectTextForClipboard('1'); + }); }); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits