cypress_test/data/mobile/impress/apply_paragraph_props.odp |binary cypress_test/integration_tests/mobile/impress/apply_paragraph_props_spec.js | 255 ++++++++++ 2 files changed, 255 insertions(+)
New commits: commit 0fc0b6c1348c1bfad84d064ac1e755bb69ae98a0 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Wed Jun 3 14:07:35 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Wed Jun 3 15:29:16 2020 +0200 cypress: paragraph properties test in impress (mobile). Change-Id: I5b023cfff539f507c945573171357e67b3cb2884 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/95435 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/data/mobile/impress/apply_paragraph_props.odp b/cypress_test/data/mobile/impress/apply_paragraph_props.odp new file mode 100644 index 000000000..e016ad309 Binary files /dev/null and b/cypress_test/data/mobile/impress/apply_paragraph_props.odp differ diff --git a/cypress_test/integration_tests/mobile/impress/apply_paragraph_props_spec.js b/cypress_test/integration_tests/mobile/impress/apply_paragraph_props_spec.js new file mode 100644 index 000000000..39171c90d --- /dev/null +++ b/cypress_test/integration_tests/mobile/impress/apply_paragraph_props_spec.js @@ -0,0 +1,255 @@ +/* global describe it cy beforeEach require expect afterEach*/ + +var helper = require('../../common/helper'); +var mobileHelper = require('../../common/mobile_helper'); + +describe('Apply paragraph properties.', function() { + var testFileName = 'apply_paragraph_props.odp'; + + beforeEach(function() { + mobileHelper.beforeAllMobile(testFileName, 'impress'); + + mobileHelper.enableEditingMobile(); + + selectTextShape(); + }); + + afterEach(function() { + helper.afterAll(testFileName); + }); + + function selectTextShape() { + // Click on the center of the slide to select the text shape there + cy.get('#document-container') + .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') + .click(XPos, YPos); + }); + + cy.get('.leaflet-drag-transform-marker') + .should('be.visible'); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page g') + .should('have.class', 'Outline'); + } + + function triggerNewSVG() { + mobileHelper.closeMobileWizard(); + + // Remove selection first with clicking next to the rotate handler + cy.get('.transform-handler--rotate') + .then(function(items) { + var XPos = items[0].getBoundingClientRect().left - 10; + var YPos = items[0].getBoundingClientRect().top; + cy.get('body') + .click(XPos, YPos); + + cy.get('body') + .dblclick(XPos, YPos); + }); + + cy.get('.leaflet-drag-transform-marker') + .should('not.exist'); + + // If we click two fast on shape again + // then it steps into edit mode + cy.wait(200); + + // Select text shape again which will retrigger a new SVG from core + selectTextShape(); + } + + function openParagraphPropertiesPanel() { + mobileHelper.openMobileWizard(); + + cy.get('#ParaPropertyPanel') + .click(); + + cy.get('.ui-content.level-0.mobile-wizard') + .should('be.visible'); + } + + it('Apply left/right alignment.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '1400'); + + // Set right alignment first + openParagraphPropertiesPanel(); + + cy.get('#RightPara') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '23586'); + + // Set left alignment + openParagraphPropertiesPanel(); + + cy.get('#LeftPara') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '1400'); + }); + + it('Apply center alignment.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '1400'); + + openParagraphPropertiesPanel(); + + cy.get('#CenterPara') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '12493'); + }); + + it('Apply justified alignment.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '1400'); + + // Set right alignment first + openParagraphPropertiesPanel(); + + cy.get('#RightPara') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '23586'); + + // Then set justified alignment + openParagraphPropertiesPanel(); + + cy.get('#JustifyPara') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'x', '1400'); + }); + + it('Set top/bottom alignment.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'y', '4834'); + + // Set bottom alignment first + openParagraphPropertiesPanel(); + + cy.get('#CellVertBottom') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'y', '10811'); + + // Then set top alignment + openParagraphPropertiesPanel(); + + cy.get('#CellVertTop') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'y', '4834'); + }); + + it('Apply center vertical alignment.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'y', '4834'); + + openParagraphPropertiesPanel(); + + cy.get('#CellVertCenter') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph .TextPosition') + .should('have.attr', 'y', '7823'); + }); + + it('Apply default bulleting.', function() { + // We have no bulleting by default + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .BulletChars') + .should('not.exist'); + + openParagraphPropertiesPanel(); + + cy.get('#DefaultBullet') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .BulletChars') + .should('exist'); + }); + + it('Apply default numbering.', function() { + // We have no bulleting by default + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextShape tspan') + .should('not.have.attr', 'ooo:numbering-type'); + + openParagraphPropertiesPanel(); + + cy.get('#DefaultNumbering') + .click(); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextShape tspan') + .should('have.attr', 'ooo:numbering-type', 'number-style'); + }); + + it('Apply spacing above.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph:nth-of-type(2) tspan') + .should('have.attr', 'y', '6600'); + + openParagraphPropertiesPanel(); + + cy.get('#aboveparaspacing input') + .clear() + .type('2{enter}'); + + cy.get('#aboveparaspacing input') + .should('have.attr', 'value', '2'); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph:nth-of-type(2) tspan') + .should('have.attr', 'y', '11180'); + }); + + it('Apply spacing below.', function() { + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph:nth-of-type(2) tspan') + .should('have.attr', 'y', '6600'); + + openParagraphPropertiesPanel(); + + cy.get('#belowparaspacing input') + .clear() + .type('2{enter}'); + + cy.get('#belowparaspacing input') + .should('have.attr', 'value', '2'); + + triggerNewSVG(); + + cy.get('.leaflet-pane.leaflet-overlay-pane g.Page .TextParagraph:nth-of-type(2) tspan') + .should('have.attr', 'y', '11180'); + }); +}); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits