cypress_test/integration_tests/mobile/writer/shape_properties_spec.js |  232 
++++++++++
 1 file changed, 232 insertions(+)

New commits:
commit 23d1adcbcf1d38ed3b500c58427692c6f24bc474
Author:     Tamás Zolnai <tamas.zol...@collabora.com>
AuthorDate: Mon Feb 17 17:26:33 2020 +0100
Commit:     Tamás Zolnai <tamas.zol...@collabora.com>
CommitDate: Tue Feb 18 16:15:19 2020 +0100

    cypress: mobile: Add some tests for changing shape properties.
    
    Change-Id: Ibd437591c9b32af242416aadcbe5683ddfeb04c3
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88874
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com>

diff --git 
a/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js 
b/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js
new file mode 100644
index 000000000..0542f970b
--- /dev/null
+++ b/cypress_test/integration_tests/mobile/writer/shape_properties_spec.js
@@ -0,0 +1,232 @@
+/* global describe it cy beforeEach require afterEach Cypress*/
+
+var helper = require('../../common/helper');
+
+describe('Change shape properties via mobile wizard.', function() {
+       beforeEach(function() {
+               helper.beforeAllMobile('empty.odt', 'writer');
+
+               // Click on edit button
+               cy.get('#mobile-edit-button').click();
+
+               // Open insertion wizard
+               cy.get('#tb_actionbar_item_insertion_mobile_wizard')
+                       .click();
+
+               // Do insertion
+               cy.get('.menu-entry-with-icon')
+                       .contains('Shape')
+                       .click();
+
+               cy.get('.basicshapes_right-triangle').
+                       click();
+
+               // Check that the shape is there
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g')
+                       .should('have.class', 
'com.sun.star.drawing.CustomShape');
+       });
+
+       afterEach(function() {
+               helper.afterAll();
+       });
+
+       function triggerNewSVG() {
+               // Reopen mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+               cy.get('#mobile-wizard')
+                       .should('not.be.visible');
+
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+               cy.get('#mobile-wizard')
+                       .should('be.visible');
+
+               // Change width
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               cy.get('#selectwidth .spinfield')
+                       .should('be.visible')
+                       .clear()
+                       .type('4.2')
+                       .type('{enter}');
+       }
+
+       it('Check default shape geometry.', function() {
+               // Geometry
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'd', 'M 7800,10975 L 13792,16967 
7800,16967 7800,10975 7800,10975 Z');
+               // Fill color
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'fill', 'rgb(114,159,207)');
+       });
+
+       it('Change shape width.', function() {
+               // TODO: Two issues are found here with core/master
+               // 1) The mobile wizard keeps rerendering after it was already 
opened which leads
+               // detached item error.
+               // 2) Entering a value inside the spinbutton has no effect on 
the shape.
+               if (Cypress.env('LO_CORE_VERSION') === 'master')
+                       return;
+
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               // Change width
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               cy.get('#selectwidth .spinfield')
+                       .clear()
+                       .type('4.2')
+                       .type('{enter}');
+
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'd', 'M 7800,10975 L 18470,16967 
7800,16967 7800,10975 7800,10975 Z');
+       });
+
+       it('Change shape height.', function() {
+               // TODO: Two issues are found here with core/master
+               // 1) The mobile wizard keeps rerendering after it was already 
opened which leads
+               // detached item error.
+               // 2) Entering a value inside the spinbutton has no effect on 
the shape.
+               if (Cypress.env('LO_CORE_VERSION') === 'master')
+                       return;
+
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               // Change width
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               cy.get('#selectheight .spinfield')
+                       .clear()
+                       .type('5.2')
+                       .type('{enter}');
+
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'd', 'M 7800,10975 L 13792,24185 
7800,24185 7800,10975 7800,10975 Z');
+       });
+
+       it('Change size with keep ratio enabled.', function() {
+               // TODO: Two issues are found here with core/master
+               // 1) The mobile wizard keeps rerendering after it was already 
opened which leads
+               // detached item error.
+               // 2) Entering a value inside the spinbutton has no effect on 
the shape.
+               if (Cypress.env('LO_CORE_VERSION') === 'master')
+                       return;
+
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               // Enable keep ratio
+               cy.get('#ratio #ratio')
+                       .click();
+
+               cy.get('#ratio #ratio')
+                       .should('have.attr', 'checked', 'checked');
+
+               // Change height
+               cy.get('#selectheight .spinfield')
+                       .clear()
+                       .type('5.2')
+                       .type('{enter}');
+
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'd', 'M 7800,10975 L 21010,24185 
7800,24185 7800,10975 7800,10975 Z');
+       });
+
+       it('Vertical mirroring', function() {
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               // Do mirroring
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               cy.get('#FlipVertical')
+                       .click();
+
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'd', 'M 7800,16965 L 13792,10973 
7800,10973 7800,16965 7800,16965 Z');
+       });
+
+       it('Horizontal mirroring', function() {
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               // Do mirroring
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               cy.get('#FlipHorizontal')
+                       .click();
+
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path')
+                       .should('have.attr', 'd', 'M 7800,10975 L 13792,16967 
7800,16967 7800,10975 7800,10975 Z');
+       });
+
+       it('Trigger moving backward / forward', function() {
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               cy.get('#PosSizePropertyPanel')
+                       .click();
+
+               // We can't test the result, so we just trigger
+               // the events to catch crashes, consoler errors.
+               cy.get('#BringToFront')
+                       .click();
+               cy.wait(300);
+
+               cy.get('#ObjectForwardOne')
+                       .click();
+               cy.wait(300);
+
+               cy.get('#ObjectBackOne')
+                       .click();
+               cy.wait(300);
+
+               cy.get('#SendToBack')
+                       .click();
+       });
+
+       it('Change line color', function() {
+               // TODO: Two issues are found here with core/master
+               // 1) The mobile wizard keeps rerendering after it was already 
opened which leads
+               // detached item error.
+               // 2) Layout of the line properties panel is completely broken.
+               if (Cypress.env('LO_CORE_VERSION') === 'master')
+                       return;
+
+               // Open mobile wizard
+               cy.get('#tb_actionbar_item_mobile_wizard')
+                       .click();
+
+               // Change line color
+               cy.get('#LinePropertyPanel')
+                       .click();
+
+               cy.get('#XLineColor')
+                       .click();
+
+               cy.get('.ui-content[title="Line Color"] 
.color-sample-small[style="background-color: rgb(152, 0, 0);"]')
+                       .click();
+
+               triggerNewSVG();
+
+               cy.get('.leaflet-pane.leaflet-overlay-pane svg g svg g g g 
path[fill="none"]')
+                       .should('have.attr', 'stroke', 'rgb(152,0,0)');
+       });
+});
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to