cypress_test/data/mobile/impress/slide_properties.odp |binary cypress_test/integration_tests/mobile/impress/slide_properties_spec.js | 263 ++++++++++ 2 files changed, 263 insertions(+)
New commits: commit d2ed738088f4b3f2ee9b62377f3039a15053cdd9 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Mon May 25 12:46:38 2020 +0200 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Mon May 25 13:54:36 2020 +0200 cypress: add some tests for changing slide background (mobile). Change-Id: Ia48bf5786304ceeb3b424888965c2d3ac5f4286b Reviewed-on: https://gerrit.libreoffice.org/c/online/+/94783 Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/data/mobile/impress/slide_properties.odp b/cypress_test/data/mobile/impress/slide_properties.odp new file mode 100644 index 000000000..1002f7beb Binary files /dev/null and b/cypress_test/data/mobile/impress/slide_properties.odp differ diff --git a/cypress_test/integration_tests/mobile/impress/slide_properties_spec.js b/cypress_test/integration_tests/mobile/impress/slide_properties_spec.js new file mode 100644 index 000000000..9f326ccb3 --- /dev/null +++ b/cypress_test/integration_tests/mobile/impress/slide_properties_spec.js @@ -0,0 +1,263 @@ +/* global describe it beforeEach cy require afterEach expect */ + +var helper = require('../../common/helper'); +var mobileHelper = require('../../common/mobile_helper'); + +describe('Changing slide properties.', function() { + beforeEach(function() { + mobileHelper.beforeAllMobile('slide_properties.odp', 'impress'); + + mobileHelper.enableEditingMobile(); + + previewShouldBeFullWhite(); + + mobileHelper.openMobileWizard(); + }); + + afterEach(function() { + helper.afterAll('insertion_wizard.odp'); + }); + + function previewShouldBeFullWhite(fullWhite = true, slideNumber = 1) { + cy.get('.preview-frame:nth-of-type(' + (slideNumber + 1).toString() + ') img') + .should(function(preview) { + var img = preview[0]; + + // Create an offscreen canvas to check the preview's pixels + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height); + var context = canvas.getContext('2d'); + + // There is a border around the preview, ignore that + var ignoredPixels = 2; + var pixelData = context.getImageData(ignoredPixels, ignoredPixels, + img.width - 2 * ignoredPixels, + img.height - 2 * ignoredPixels).data; + + var allIsWhite = true; + for (var i = 0; i < pixelData.length; ++i) { + allIsWhite = allIsWhite && pixelData[i] == 255; + } + if (fullWhite) + expect(allIsWhite).to.be.true; + else + expect(allIsWhite).to.be.false; + }); + } + + it('Apply solid color background.', function() { + // Change fill style + cy.get('#fillstyle') + .click(); + + cy.contains('.ui-combobox-text', 'Color') + .click(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Color'); + + // Check the default color + cy.get('#fillattr .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(114, 159, 207);'); + + // Change the color + cy.get('#fillattr') + .click(); + + cy.get('#color-picker-0-basic-color-5') + .click(); + + cy.get('#mobile-wizard-back') + .click(); + + cy.get('#fillattr .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(0, 255, 0);'); + + previewShouldBeFullWhite(false); + + // Reopen mobile wizard and check the settings again + mobileHelper.closeMobileWizard(); + mobileHelper.openMobileWizard(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Color'); + + cy.get('#fillattr .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(0, 255, 0);'); + }); + + it('Apply gradient fill.', function() { + // Change fill style + cy.get('#fillstyle') + .click(); + + cy.contains('.ui-combobox-text', 'Gradient') + .click(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Gradient'); + + // Check the default color + cy.get('#fillattr2 .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(221, 232, 203);'); + + cy.get('#fillattr3 .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(255, 215, 215);'); + + // Change the colors + cy.get('#fillattr2') + .click(); + + cy.get('#color-picker-0-basic-color-2') + .click(); + + cy.get('#mobile-wizard-back') + .click(); + + cy.get('#fillattr3') + .click(); + + cy.get('#color-picker-1-basic-color-4') + .click(); + + cy.get('#mobile-wizard-back') + .click(); + + cy.get('#fillattr2 .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(255, 0, 0);'); + + cy.get('#fillattr3 .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(255, 255, 0);'); + + previewShouldBeFullWhite(false); + + // Reopen mobile wizard and check the settings again + mobileHelper.closeMobileWizard(); + mobileHelper.openMobileWizard(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Gradient'); + + cy.get('#fillattr2 .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(255, 0, 0);'); + + cy.get('#fillattr3 .color-sample-selected') + .should('have.attr', 'style', 'background-color: rgb(255, 255, 0);'); + }); + + it('Apply hatching fill.', function() { + // Change fill style + cy.get('#fillstyle') + .click(); + + cy.contains('.ui-combobox-text', 'Hatching') + .click(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Hatching'); + + // Check the default value + cy.get('#fillattr1 .ui-header-left') + .should('have.text', 'Black 0 Degrees'); + + // Change the hatching + cy.get('#fillattr1') + .click(); + + cy.contains('.ui-combobox-text', 'Blue Triple 90 Degrees') + .click(); + + cy.get('#fillattr1 .ui-header-left') + .should('have.text', 'Blue Triple 90 Degrees'); + + previewShouldBeFullWhite(false); + + // Reopen mobile wizard and check the settings again + mobileHelper.closeMobileWizard(); + mobileHelper.openMobileWizard(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Hatching'); + + cy.get('#fillattr1 .ui-header-left') + .should('have.text', 'Blue Triple 90 Degrees'); + }); + + it('Apply bitmap fill.', function() { + // Change fill style + cy.get('#fillstyle') + .click(); + + cy.contains('.ui-combobox-text', 'Bitmap') + .click(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Bitmap'); + + // Check the default value + cy.get('#fillattr1 .ui-header-left') + .should('have.text', 'Painted White'); + + // Change the value + cy.get('#fillattr1') + .click(); + + cy.contains('.ui-combobox-text', 'Wooden Board') + .click(); + + cy.get('#fillattr1 .ui-header-left') + .should('have.text', 'Wooden Board'); + + previewShouldBeFullWhite(false); + + // Reopen mobile wizard and check the settings again + mobileHelper.closeMobileWizard(); + mobileHelper.openMobileWizard(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Bitmap'); + + cy.get('#fillattr1 .ui-header-left') + .should('have.text', 'Wooden Board'); + }); + + it('Apply pattern fill.', function() { + // Change fill style + cy.get('#fillstyle') + .click(); + + cy.contains('.ui-combobox-text', 'Pattern') + .click(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Pattern'); + + // Check the default value + cy.get('#fillattr1 .ui-header-left') + .should('have.text', '5 Percent'); + + // Change the value + cy.get('#fillattr1') + .click(); + + cy.contains('.ui-combobox-text', '50 Percent') + .click(); + + cy.get('#fillattr1 .ui-header-left') + .should('have.text', '50 Percent'); + + previewShouldBeFullWhite(false); + + // Reopen mobile wizard and check the settings again + mobileHelper.closeMobileWizard(); + mobileHelper.openMobileWizard(); + + cy.get('#fillstyle .ui-header-left') + .should('have.text', 'Pattern'); + + cy.get('#fillattr1 .ui-header-left') + .should('have.text', '50 Percent'); + }); +}); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits