[Libreoffice-commits] online.git: 4 commits - cypress_test/data cypress_test/integration_tests loleaflet/src
Tamás Zolnai (via logerrit)
logerrit at kemper.freedesktop.org
Tue Feb 4 14:46:16 UTC 2020
cypress_test/data/mobile/table.odt |binary
cypress_test/integration_tests/common/helper.js | 36 +
cypress_test/integration_tests/mobile/insert_object_spec.js | 26
cypress_test/integration_tests/mobile/styles_spec.js | 4
cypress_test/integration_tests/mobile/table_properties_spec.js | 264 ++++++++++
loleaflet/src/control/Control.MobileWizard.js | 3
6 files changed, 325 insertions(+), 8 deletions(-)
New commits:
commit 26bcd86640fcd23b9dd786a6a0e082cde71a7d12
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Tue Feb 4 15:33:04 2020 +0100
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Tue Feb 4 15:44:22 2020 +0100
cypress: mobile: Make this test more stable.
Change-Id: I8eb8381696c79c1e7a04b1cf88cab12c4c14de92
diff --git a/cypress_test/integration_tests/mobile/styles_spec.js b/cypress_test/integration_tests/mobile/styles_spec.js
index b2671650e..213f1a99d 100644
--- a/cypress_test/integration_tests/mobile/styles_spec.js
+++ b/cypress_test/integration_tests/mobile/styles_spec.js
@@ -108,6 +108,10 @@ describe('Apply/modify styles.', function() {
cy.get('#Italic')
.click();
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
helper.copyTextToClipboard();
cy.get('#copy-paste-container p i')
commit 18b48ca02214a63c2462fd395e53063f8674b319
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Tue Feb 4 13:46:41 2020 +0100
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Tue Feb 4 15:33:49 2020 +0100
cypress: mobile: Add tests for changing table layout.
Change-Id: If819b8cc7341eb8d82219458edfecddd7b4d7c2b
diff --git a/cypress_test/data/mobile/table.odt b/cypress_test/data/mobile/table.odt
new file mode 100644
index 000000000..bec92754c
Binary files /dev/null and b/cypress_test/data/mobile/table.odt differ
diff --git a/cypress_test/integration_tests/mobile/table_properties_spec.js b/cypress_test/integration_tests/mobile/table_properties_spec.js
new file mode 100644
index 000000000..04710914c
--- /dev/null
+++ b/cypress_test/integration_tests/mobile/table_properties_spec.js
@@ -0,0 +1,264 @@
+/* global describe it cy beforeEach require afterEach expect*/
+
+var helper = require('../common/helper');
+
+describe('Change table properties / layout via mobile wizard.', function() {
+ beforeEach(function() {
+ helper.loadTestDoc('table.odt', true);
+
+ // Click on edit button
+ cy.get('#mobile-edit-button').click();
+
+ // Open insertion wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .should('not.have.class', 'disabled');
+ });
+
+ afterEach(function() {
+ helper.afterAll();
+ });
+
+ it('Insert row before.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#InsertRowsBefore')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-row-resize-marker')
+ .should('have.length', 4);
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 4)
+ .then(function(rows) {
+ expect(rows[0].textContent).to.not.have.string('text');
+ expect(rows[1].textContent).to.have.string('text');
+ });
+ cy.get('#copy-paste-container td')
+ .should('have.length', 8);
+ });
+
+ it('Insert row after.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#InsertRowsAfter')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-row-resize-marker')
+ .should('have.length', 4);
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 4)
+ .then(function(rows) {
+ expect(rows[0].textContent).to.have.string('text');
+ expect(rows[1].textContent).to.not.have.string('text');
+ });
+ cy.get('#copy-paste-container td')
+ .should('have.length', 8);
+ });
+
+ it('Insert column before.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#InsertColumnsBefore')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-column-resize-marker')
+ .should('have.length', 4);
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 3);
+ cy.get('#copy-paste-container td')
+ .should('have.length', 9)
+ .then(function(columns) {
+ expect(columns[0].textContent).to.not.have.string('text');
+ expect(columns[1].textContent).to.have.string('text');
+ });
+ });
+
+ it('Insert column after.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#InsertColumnsAfter')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-column-resize-marker')
+ .should('have.length', 4);
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 3);
+ cy.get('#copy-paste-container td')
+ .should('have.length', 9)
+ .then(function(columns) {
+ expect(columns[0].textContent).to.have.string('text');
+ expect(columns[1].textContent).to.not.have.string('text');
+ });
+ });
+
+ it('Delete row.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#DeleteRows')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-row-resize-marker')
+ .should('have.length', 2);
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 2)
+ .then(function(columns) {
+ expect(columns[0].textContent).to.not.have.string('text');
+ expect(columns[1].textContent).to.not.have.string('text');
+ });
+ cy.get('#copy-paste-container td')
+ .should('have.length', 4);
+ });
+
+ it('Delete column.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#DeleteColumns')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-column-resize-marker')
+ .should('not.exist');
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 3);
+ cy.get('#copy-paste-container td')
+ .should('have.length', 3)
+ .then(function(columns) {
+ expect(columns[0].textContent).to.not.have.string('text');
+ expect(columns[1].textContent).to.not.have.string('text');
+ expect(columns[2].textContent).to.not.have.string('text');
+ });
+ });
+
+ it('Delete table.', function() {
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#DeleteTable')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-column-resize-marker')
+ .should('not.exist');
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ cy.get('#copy-paste-container title')
+ .should('exist');
+ cy.get('#copy-paste-container table')
+ .should('not.exist');
+ });
+
+ it('Merge cells.', function() {
+ cy.get('body').type('{shift}{downarrow}{downarrow}{downarrow}{rightarrow}');
+
+ // Open mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ // Insert row
+ cy.get('#TableEditPanel')
+ .click();
+ cy.get('#MergeCells')
+ .scrollIntoView();
+ cy.get('#MergeCells')
+ .click();
+
+ cy.get('.leaflet-marker-icon.table-column-resize-marker')
+ .should('not.exist');
+
+ // Close mobile wizard
+ cy.get('#tb_actionbar_item_mobile_wizard')
+ .click();
+
+ helper.copyTableToClipboard();
+
+ // Check rows / columns
+ cy.get('#copy-paste-container tr')
+ .should('have.length', 1);
+ cy.get('#copy-paste-container td')
+ .should('have.length', 1);
+ });
+});
commit f7404745fbc4459d9bf204c8a3c20034b4ff3400
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Tue Feb 4 13:19:45 2020 +0100
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Tue Feb 4 15:33:49 2020 +0100
mobile: Don't refresh the sidebar state, when a different wizard is opened.
Caught by a cypress test. Hamburger menu was opened, by it got
the sidebar content instead.
Change-Id: I3130e7e1d44f76c8ba656121d96704fb4d5b8932
diff --git a/loleaflet/src/control/Control.MobileWizard.js b/loleaflet/src/control/Control.MobileWizard.js
index 249a33421..1cc8dc2b7 100644
--- a/loleaflet/src/control/Control.MobileWizard.js
+++ b/loleaflet/src/control/Control.MobileWizard.js
@@ -278,6 +278,9 @@ L.Control.MobileWizard = L.Control.extend({
if (this.map.showSidebar == false)
return;
}
+ if (isSidebar && !this.map.showSidebar) {
+ return;
+ }
this._isActive = true;
var currentPath = null;
commit 14ce7ab9377a30863a65b2d80e20d2577bf93454
Author: Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Tue Feb 4 12:37:50 2020 +0100
Commit: Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Tue Feb 4 15:33:49 2020 +0100
cypress: mobile: Introduce copyTableToClipboard() method.
And use it to check insert table's properties.
Change-Id: I7b188ddd139db2f6de5e2872277dce022073171d
diff --git a/cypress_test/integration_tests/common/helper.js b/cypress_test/integration_tests/common/helper.js
index e9cc62328..e7989aed9 100644
--- a/cypress_test/integration_tests/common/helper.js
+++ b/cypress_test/integration_tests/common/helper.js
@@ -83,6 +83,41 @@ function copyTextToClipboard() {
.should('not.exist');
}
+function copyTableToClipboard() {
+ // Do a new selection
+ selectAllMobile();
+
+ // Open context menu
+ cy.get('.leaflet-marker-icon')
+ .then(function(markers) {
+ expect(markers.length).to.have.greaterThan(1);
+ for (var i = 0; i < markers.length; i++) {
+ if (markers[i].classList.contains('leaflet-selection-marker-start')) {
+ var startPos = markers[i].getBoundingClientRect();
+ } else if (markers[i].classList.contains('leaflet-selection-marker-end')) {
+ var endPos = markers[i].getBoundingClientRect();
+ }
+ }
+
+ var XPos = startPos.right + 30;
+ var YPos = endPos.top - 10;
+ cy.get('body').rightclick(XPos, YPos);
+ });
+
+ // Execute copy
+ cy.get('.ui-header.level-0.mobile-wizard.ui-widget .menu-entry-with-icon .context-menu-link')
+ .contains('Copy')
+ .click();
+
+ // Close warning about clipboard operations
+ cy.get('.vex-dialog-button-primary.vex-dialog-button.vex-first')
+ .click();
+
+ // Wait until it's closed
+ cy.get('.vex-overlay')
+ .should('not.exist');
+}
+
function afterAll() {
// Make sure that the document is closed
cy.visit('http://admin:admin@localhost:9980/loleaflet/dist/admin/admin.html');
@@ -95,4 +130,5 @@ function afterAll() {
module.exports.loadTestDoc = loadTestDoc;
module.exports.selectAllMobile = selectAllMobile;
module.exports.copyTextToClipboard = copyTextToClipboard;
+module.exports.copyTableToClipboard = copyTableToClipboard;
module.exports.afterAll = afterAll;
diff --git a/cypress_test/integration_tests/mobile/insert_object_spec.js b/cypress_test/integration_tests/mobile/insert_object_spec.js
index 19200f48c..70f800b78 100644
--- a/cypress_test/integration_tests/mobile/insert_object_spec.js
+++ b/cypress_test/integration_tests/mobile/insert_object_spec.js
@@ -55,11 +55,16 @@ describe('Insert objects via insertion wizard.', function() {
// Table is inserted with the markers shown
cy.get('.leaflet-marker-icon.table-column-resize-marker')
- .should('exist')
- .should('have.length', 3);
- cy.get('.leaflet-marker-icon.table-row-resize-marker')
- .should('exist')
+ .should('exist');
+
+ helper.copyTableToClipboard();
+
+ // Two rows
+ cy.get('#copy-paste-container tr')
.should('have.length', 2);
+ // Four cells
+ cy.get('#copy-paste-container td')
+ .should('have.length', 4);
});
it('Insert custom table.', function() {
@@ -83,11 +88,16 @@ describe('Insert objects via insertion wizard.', function() {
// Table is inserted with the markers shown
cy.get('.leaflet-marker-icon.table-column-resize-marker')
- .should('exist')
- .should('have.length', 4);
- cy.get('.leaflet-marker-icon.table-row-resize-marker')
- .should('exist')
+ .should('exist');
+
+ helper.copyTableToClipboard();
+
+ // Three rows
+ cy.get('#copy-paste-container tr')
.should('have.length', 3);
+ // Nine cells
+ cy.get('#copy-paste-container td')
+ .should('have.length', 9);
});
it('Insert header.', function() {
More information about the Libreoffice-commits
mailing list