cypress_test/integration_tests/mobile/calc/alignment_options_spec.js | 88 +++++++++- 1 file changed, 83 insertions(+), 5 deletions(-)
New commits: commit b5b73628bf45ea0f4beb9e4ab90206d3206b8b20 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Thu Apr 16 11:59:47 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Thu Apr 16 12:22:12 2020 +0200 cypress: mobile: add test for text indent changes in Calc. Change-Id: I5f890791e568281c1be83bfb18d02e35180e5ef8 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92342 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/integration_tests/mobile/calc/alignment_options_spec.js b/cypress_test/integration_tests/mobile/calc/alignment_options_spec.js index 74a088c74..812238ec2 100644 --- a/cypress_test/integration_tests/mobile/calc/alignment_options_spec.js +++ b/cypress_test/integration_tests/mobile/calc/alignment_options_spec.js @@ -1,5 +1,7 @@ /* global describe it cy beforeEach require afterEach*/ +import 'cypress-wait-until'; + var helper = require('../../common/helper'); var mobileHelper = require('../../common/mobile_helper'); var calcHelper = require('./calc_helper'); @@ -10,7 +12,27 @@ describe('Change alignment settings.', function() { // Click on edit button mobileHelper.enableEditingMobile(); + }); + + afterEach(function() { + helper.afterAll('alignment_options.ods'); + }); + + function getTextPosForFirstCell() { + calcHelper.dblClickOnFirstCell(); + + // Select text content + cy.get('textarea.clipboard') + .type('{ctrl}a', {force: true}); + + cy.get('.leaflet-selection-marker-start') + .invoke('position') + .as('currentTextPos'); + calcHelper.removeTextSelection(); + } + + function openAlignmentPaneForFirstCell() { calcHelper.clickOnFirstCell(); mobileHelper.openMobileWizard(); @@ -20,13 +42,11 @@ describe('Change alignment settings.', function() { cy.get('#AlignLeft') .should('be.visible'); - }); - - afterEach(function() { - helper.afterAll('alignment_options.ods'); - }); + } it('Apply left/right alignment', function() { + openAlignmentPaneForFirstCell(); + // Set right aligment first cy.get('#AlignRight') .click(); @@ -54,6 +74,8 @@ describe('Change alignment settings.', function() { }); it('Align to center horizontally.', function() { + openAlignmentPaneForFirstCell(); + cy.get('#AlignHorizontalCenter') .click(); @@ -64,6 +86,8 @@ describe('Change alignment settings.', function() { }); it('Change to block alignment.', function() { + openAlignmentPaneForFirstCell(); + // Set right aligment first cy.get('#AlignBlock') .click(); @@ -75,6 +99,8 @@ describe('Change alignment settings.', function() { }); it('Right-to-left and left-to-right writing mode.', function() { + openAlignmentPaneForFirstCell(); + cy.get('#ParaRightToLeft') .click(); @@ -90,6 +116,8 @@ describe('Change alignment settings.', function() { }); it('Align to the top and to bottom.', function() { + openAlignmentPaneForFirstCell(); + cy.get('#AlignTop') .click(); @@ -116,6 +144,8 @@ describe('Change alignment settings.', function() { }); it('Align to center vertically.', function() { + openAlignmentPaneForFirstCell(); + cy.get('#AlignVCenter') .click(); @@ -124,4 +154,52 @@ describe('Change alignment settings.', function() { cy.get('#copy-paste-container table td') .should('have.attr', 'valign', 'middle'); }); + + it('Increment / decrement text indent.', function() { + // Get text position first + getTextPosForFirstCell(); + cy.get('@currentTextPos') + .as('originalTextPos'); + + openAlignmentPaneForFirstCell(); + + // Increase indent + cy.get('#IncrementIndent') + .click(); + + // We use the text position as indicator + cy.waitUntil(function() { + getTextPosForFirstCell(); + + return cy.get('@currentTextPos') + .then(function(currentTextPos) { + cy.get('@originalTextPos') + .then(function(originalTextPos) { + return originalTextPos.left < currentTextPos.left; + }); + }); + }); + + cy.get('@currentTextPos') + .as('originalTextPos'); + + // Decrease indent + openAlignmentPaneForFirstCell(); + + cy.get('#DecrementIndent') + .click(); + + // We use the text position as indicator + cy.waitUntil(function() { + getTextPosForFirstCell(); + + return cy.get('@currentTextPos') + .then(function(currentTextPos) { + cy.get('@originalTextPos') + .then(function(originalTextPos) { + return originalTextPos.left > currentTextPos.left; + }); + }); + }); + }); }); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits