[Libreoffice-commits] online.git: cypress_test/data cypress_test/integration_tests cypress_test/Makefile.am

Tamás Zolnai (via logerrit) logerrit at kemper.freedesktop.org
Mon Mar 9 14:40:00 UTC 2020


 cypress_test/Makefile.am                                  |    2 -
 cypress_test/data/mobile/calc/focus.ods                   |binary
 cypress_test/integration_tests/mobile/calc/calc_helper.js |   24 ++++++++++++
 cypress_test/integration_tests/mobile/calc/focus_spec.js  |   27 ++++++++------
 4 files changed, 41 insertions(+), 12 deletions(-)

New commits:
commit 90c57174663f15dd4c300a069dc7116630a927d0
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Mon Mar 9 15:08:33 2020 +0100
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon Mar 9 15:39:40 2020 +0100

    cypress: mobile: avoid hard coded coordinates for calc focus tests.
    
    Change-Id: I9da74fcd090371cbea5b3a8c8836bf9236f709b3
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90224
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/cypress_test/Makefile.am b/cypress_test/Makefile.am
index 5e7c13c7e..e4616f3dc 100644
--- a/cypress_test/Makefile.am
+++ b/cypress_test/Makefile.am
@@ -31,7 +31,7 @@ export DISPLAY=$(if $(HEADLESS_BUILD),:$(DISPLAY_NUMBER),$(shell echo $$DISPLAY)
 
 if HAVE_LO_PATH
 MOBILE_TEST_FILES= \
-	calc/calc_focus_spec.js \
+	calc/focus_spec.js \
 	impress/impress_focus_spec.js \
 	writer/apply_font_spec.js \
 	writer/apply_paragraph_properties_spec.js \
diff --git a/cypress_test/data/mobile/calc/focus.ods b/cypress_test/data/mobile/calc/focus.ods
index 98c5d3a36..ab2f20975 100644
Binary files a/cypress_test/data/mobile/calc/focus.ods and b/cypress_test/data/mobile/calc/focus.ods differ
diff --git a/cypress_test/integration_tests/mobile/calc/calc_helper.js b/cypress_test/integration_tests/mobile/calc/calc_helper.js
new file mode 100644
index 000000000..5839efb01
--- /dev/null
+++ b/cypress_test/integration_tests/mobile/calc/calc_helper.js
@@ -0,0 +1,24 @@
+/* global cy expect*/
+
+function clickOnFirstCell() {
+	// Enable editing if it's in read-only mode
+	cy.get('#mobile-edit-button')
+		.then(function(button) {
+			if (button.css('display') !== 'none') {
+				cy.get('#mobile-edit-button')
+					.click();
+			}
+		});
+
+	// Use the tile's edge to find the first cell's position
+	cy.get('.leaflet-tile-container')
+		.then(function(items) {
+			expect(items).to.have.lengthOf(1);
+			var XPos = items[0].getBoundingClientRect().right + 10;
+			var YPos = items[0].getBoundingClientRect().top + 10;
+			cy.get('body')
+				.click(XPos, YPos);
+		});
+}
+
+module.exports.clickOnFirstCell = clickOnFirstCell;
diff --git a/cypress_test/integration_tests/mobile/calc/calc_focus_spec.js b/cypress_test/integration_tests/mobile/calc/focus_spec.js
similarity index 66%
rename from cypress_test/integration_tests/mobile/calc/calc_focus_spec.js
rename to cypress_test/integration_tests/mobile/calc/focus_spec.js
index 8d5cada69..801b423f8 100644
--- a/cypress_test/integration_tests/mobile/calc/calc_focus_spec.js
+++ b/cypress_test/integration_tests/mobile/calc/focus_spec.js
@@ -1,6 +1,7 @@
-/* global describe it cy beforeEach require afterEach*/
+/* global describe it cy beforeEach require afterEach expect*/
 
 var helper = require('../../common/helper');
+var calcHelper = require('./calc_helper');
 
 describe('Calc focus tests', function() {
 	beforeEach(function() {
@@ -23,18 +24,24 @@ describe('Calc focus tests', function() {
 			.should('be.eq', 'BODY');
 
 		// One tap on an other cell -> no focus on the document
-		cy.get('#document-container')
-			.click(120, 120);
+		calcHelper.clickOnFirstCell();
 
-		cy.get('.leaflet-marker-icon.spreadsheet-cell-resize-marker');
+		cy.get('.leaflet-marker-icon.spreadsheet-cell-resize-marker')
+			.should('be.visible');
 
 		// No focus
 		cy.document().its('activeElement.tagName')
 			.should('be.eq', 'BODY');
 
-		// Double tap on a cell gives the focus to the document
-		cy.get('#document-container')
-			.dblclick(20, 20);
+		// Double tap on another cell gives the focus to the document
+		cy.get('.spreadsheet-cell-resize-marker')
+			.then(function(items) {
+				expect(items).to.have.lengthOf(2);
+				var XPos = Math.max(items[0].getBoundingClientRect().right, items[1].getBoundingClientRect().right) + 10;
+				var YPos = Math.max(items[0].getBoundingClientRect().top, items[1].getBoundingClientRect().top) - 10;
+				cy.get('body')
+					.dblclick(XPos, YPos);
+			});
 
 		// Document has the focus
 		cy.document().its('activeElement.className')
@@ -53,8 +60,7 @@ describe('Calc focus tests', function() {
 			.should('be.eq', 'BODY');
 
 		// One tap on a cell -> no document focus
-		cy.get('#document-container')
-			.click();
+		calcHelper.clickOnFirstCell();
 
 		cy.get('.leaflet-marker-icon.spreadsheet-cell-resize-marker');
 
@@ -63,8 +69,7 @@ describe('Calc focus tests', function() {
 			.should('be.eq', 'BODY');
 
 		// Second tap on the same cell
-		cy.get('#document-container')
-			.click();
+		calcHelper.clickOnFirstCell();
 
 		// Document has the focus
 		cy.document().its('activeElement.className')


More information about the Libreoffice-commits mailing list