cypress_test/data/mobile/calc/bottom_toolbar.ods |binary cypress_test/data/mobile/calc/bottom_toolbar2.ods |binary cypress_test/integration_tests/mobile/calc/bottom_toolbar_spec.js | 284 ++++++++++ cypress_test/integration_tests/mobile/calc/calc_helper.js | 5 4 files changed, 288 insertions(+), 1 deletion(-)
New commits: commit 129d89a9f4325152f46a737d0a55f08d6a92c47a Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Tue May 19 15:23:16 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Tue May 19 21:10:02 2020 +0200 cypress: add tests for bottom toolbar in calc. Change-Id: I033800eadf5d3b1a454e31549b5adc1fd5d5ebd6 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94532 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/data/mobile/calc/bottom_toolbar.ods b/cypress_test/data/mobile/calc/bottom_toolbar.ods new file mode 100644 index 000000000..ade730114 Binary files /dev/null and b/cypress_test/data/mobile/calc/bottom_toolbar.ods differ diff --git a/cypress_test/data/mobile/calc/bottom_toolbar2.ods b/cypress_test/data/mobile/calc/bottom_toolbar2.ods new file mode 100644 index 000000000..028e5604b Binary files /dev/null and b/cypress_test/data/mobile/calc/bottom_toolbar2.ods differ diff --git a/cypress_test/integration_tests/mobile/calc/bottom_toolbar_spec.js b/cypress_test/integration_tests/mobile/calc/bottom_toolbar_spec.js new file mode 100644 index 000000000..4bae5c170 --- /dev/null +++ b/cypress_test/integration_tests/mobile/calc/bottom_toolbar_spec.js @@ -0,0 +1,284 @@ +/* global describe it cy require afterEach expect */ + +var helper = require('../../common/helper'); +var mobileHelper = require('../../common/mobile_helper'); +var calcHelper = require('./calc_helper'); + +describe('Interact with bottom toolbar.', function() { + function before(fileName, subPath) { + mobileHelper.beforeAllMobile(fileName, subPath); + + // Click on edit button + mobileHelper.enableEditingMobile(); + + calcHelper.clickOnFirstCell(); + } + + afterEach(function() { + helper.afterAll('apply_font.ods'); + }); + + function getTextPosForFirstCell() { + calcHelper.dblClickOnFirstCell(); + + // Select text content + cy.get('textarea.clipboard') + .type('{ctrl}a', {force: true}); + + helper.initAliasToNegative('currentTextPos'); + + cy.get('.leaflet-selection-marker-end') + .invoke('offset') + .its('left') + .as('currentTextPos'); + + cy.get('@currentTextPos') + .should('be.greaterThan', 0); + + calcHelper.removeTextSelection(); + } + + it('Apply bold.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.bold') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td b') + .should('exist'); + }); + + it('Apply italic.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.italic') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td i') + .should('exist'); + }); + + it('Apply underline.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.underline') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td u') + .should('exist'); + }); + + it('Apply strikeout.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.strikeout') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td s') + .should('exist'); + }); + + it('Apply font color.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.textcolor') + .click(); + + cy.get('#color-picker-0-basic-color-5') + .click(); + + cy.get('#mobile-wizard-back') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td font') + .should('have.attr', 'color', '#00FF00'); + }); + + it('Apply highlight color.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.backcolor') + .click(); + + cy.get('#color-picker-0-basic-color-5') + .click(); + + cy.get('#mobile-wizard-back') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td') + .should('have.attr', 'bgcolor', '#00FF00'); + }); + + it('Merge cells', function() { + before('bottom_toolbar.ods', 'calc'); + + // Select the full row + cy.get('.spreadsheet-header-rows') + .then(function(items) { + expect(items).to.have.lengthOf(1); + + var XPos = (items[0].getBoundingClientRect().right + items[0].getBoundingClientRect().left) / 2; + var YPos = items[0].getBoundingClientRect().top + 10; + cy.get('body') + .click(XPos, YPos); + }); + + cy.get('.spreadsheet-cell-resize-marker') + .should('exist'); + + cy.get('.spreadsheet-cell-resize-marker:nth-of-type(2)') + .should('not.be.visible'); + + cy.get('.w2ui-tb-image.w2ui-icon.togglemergecells') + .click(); + + calcHelper.selectAllMobile(false); + + cy.get('#copy-paste-container table td') + .should('have.attr', 'colspan', '1024'); + }); + + it('Apply left/right alignment', function() { + before('bottom_toolbar.ods', 'calc'); + + // Set right aligment first + cy.get('.w2ui-tb-image.w2ui-icon.alignright') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td') + .should('have.attr', 'align', 'right'); + + // Change alignment back + calcHelper.clickOnFirstCell(); + + cy.get('.w2ui-tb-image.w2ui-icon.alignleft') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td') + .should('have.attr', 'align', 'left'); + }); + + it('Align to center.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.alignhorizontal') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td') + .should('have.attr', 'align', 'center'); + }); + + it('Change to block alignment.', function() { + before('bottom_toolbar.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.alignblock') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table td') + .should('have.attr', 'align', 'justify'); + }); + + it('Enable text wrapping.', function() { + before('bottom_toolbar.ods', 'calc'); + + helper.initAliasToNegative('originalTextPos'); + + getTextPosForFirstCell(); + cy.get('@currentTextPos') + .as('originalTextPos'); + + cy.get('@currentTextPos') + .should('be.greaterThan', 0); + + calcHelper.clickOnFirstCell(); + + cy.get('.w2ui-tb-image.w2ui-icon.wraptext') + .click(); + + // We use the text position as indicator + cy.get('body') + .should(function() { + getTextPosForFirstCell(); + + cy.get('@currentTextPos') + .then(function(currentTextPos) { + cy.get('@originalTextPos') + .then(function(originalTextPos) { + expect(originalTextPos).to.be.greaterThan(currentTextPos); + }); + }); + }); + }); + + it('Insert row after.', function() { + before('bottom_toolbar2.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.insertrowsafter') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table tr') + .should('have.length', 3); + + cy.get('#copy-paste-container table tr:nth-of-type(1)') + .should('contain.text', 'long line long line long line'); + + cy.get('#copy-paste-container table tr:nth-of-type(2)') + .should('not.contain.text', 'long line long line long line'); + + cy.get('#copy-paste-container table tr:nth-of-type(2)') + .should('not.contain.text', '2'); + + cy.get('#copy-paste-container table tr:nth-of-type(3)') + .should('contain.text', '2'); + }); + + it('Insert column after.', function() { + before('bottom_toolbar2.ods', 'calc'); + + cy.get('.w2ui-tb-image.w2ui-icon.insertcolumnsafter') + .click(); + + calcHelper.selectAllMobile(); + + cy.get('#copy-paste-container table tr') + .should('have.length', 2); + + cy.get('#copy-paste-container table tr:nth-of-type(1) td') + .should('have.length', 3); + + cy.get('#copy-paste-container table tr:nth-of-type(1) td:nth-of-type(1)') + .should('contain.text', 'long line long line long line'); + + cy.get('#copy-paste-container table tr:nth-of-type(1) td:nth-of-type(2)') + .should('not.contain.text', 'long line long line long line'); + + cy.get('#copy-paste-container table tr:nth-of-type(1) td:nth-of-type(2)') + .should('not.contain.text', '1'); + + cy.get('#copy-paste-container table tr:nth-of-type(1) td:nth-of-type(3)') + .should('contain.text', '1'); + }); +}); diff --git a/cypress_test/integration_tests/mobile/calc/calc_helper.js b/cypress_test/integration_tests/mobile/calc/calc_helper.js index 788267019..aaa517029 100644 --- a/cypress_test/integration_tests/mobile/calc/calc_helper.js +++ b/cypress_test/integration_tests/mobile/calc/calc_helper.js @@ -71,7 +71,10 @@ function selectAllMobile(removeSelection = true) { cy.get('#spreadsheet-header-corner') .click(); - cy.get('.spreadsheet-cell-resize-marker') + cy.get('.spreadsheet-cell-resize-marker:nth-of-type(2)') + .should('not.be.visible'); + + cy.get('.spreadsheet-cell-resize-marker:nth-of-type(1)') .invoke('attr', 'style') .should('contain', '(-9px, -8px,'); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits