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

Tamás Zolnai (via logerrit) logerrit at kemper.freedesktop.org
Sat Jun 13 15:49:32 UTC 2020


 cypress_test/data/mobile/writer/hamburger_menu.odt                     |binary
 cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js |    2 
 cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js    |  387 ++++++++++
 cypress_test/integration_tests/mobile/writer/insert_object_spec.js     |    2 
 4 files changed, 389 insertions(+), 2 deletions(-)

New commits:
commit 789083b521aa9677b054fb3cfa9048fd87b56c77
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Sat Jun 13 17:18:58 2020 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Jun 13 17:49:27 2020 +0200

    cypress: add change tracking related tests (writer, mobile)
    
    Change-Id: I0c1426ce784153b102049f9770b8fd99eeaf784c
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96260
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
index e6523476c..1dae35427 100644
--- a/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
+++ b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
@@ -1,4 +1,4 @@
-/* global describe it cy beforeEach require afterEach */
+/* global describe it cy beforeEach require afterEach expect */
 
 var helper = require('../../common/helper');
 var mobileHelper = require('../../common/mobile_helper');
@@ -12,15 +12,255 @@ describe('Trigger hamburger menu options.', function() {
 
 		// Click on edit button
 		mobileHelper.enableEditingMobile();
-
-		mobileHelper.openHamburgerMenu();
 	});
 
 	afterEach(function() {
 		helper.afterAll(testFileName);
 	});
 
+	it('Enable track changes recording.', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Record')
+			.click();
+
+		// Insert some text and check whether it's tracked.
+		cy.get('textarea.clipboard')
+			.type('{q}');
+
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Previous')
+			.click();
+
+		cy.get('.leaflet-marker-icon')
+			.should('exist');
+
+		// We should have 'q' selected.
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\nq');
+
+		// Then disable recording.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Record')
+			.click();
+
+		cy.get('textarea.clipboard')
+			.type('{rightArrow}w');
+
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Previous')
+			.click();
+
+		cy.get('.leaflet-marker-icon')
+			.should('exist');
+
+		// We should have 'q' selected.
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\nq');
+	});
+
+	it('Show track changes.', function() {
+		mobileHelper.openHamburgerMenu();
+
+		// First start recording.
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Record')
+			.click();
+
+		// Remove text content.
+		cy.get('#document-container')
+			.click();
+
+		helper.clearAllText();
+
+		// By default track changed are shown.
+		writerMobileHelper.selectAllMobile();
+
+		// We have selection markers.
+		cy.get('.leaflet-marker-icon')
+			.should('exist');
+
+		// No actual text sent from core because of the removal.
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\n\n\n');
+
+		// Remove text selection.
+		cy.get('textarea.clipboard')
+			.type('{leftArrow}');
+
+		// Hide track changes.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Show')
+			.click();
+
+		// Trigger select all
+		cy.get('textarea.clipboard')
+			.type('{ctrl}a');
+
+		// Both selection markers should be in the same line
+		cy.get('.leaflet-marker-icon:nth-of-type(1)')
+			.then(function(firstMarker) {
+				cy.get('.leaflet-marker-icon:nth-of-type(2)')
+					.then(function(secondMarker) {
+						expect(firstMarker.offset().top).to.be.equal(secondMarker.offset().top);
+						expect(firstMarker.offset().bottom).to.be.equal(secondMarker.offset().bottom);
+					});
+			});
+	});
+
+	it('Accept all changes.', function() {
+		mobileHelper.openHamburgerMenu();
+
+		// First start recording.
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Record')
+			.click();
+
+		// Remove text content.
+		cy.get('#document-container')
+			.click();
+
+		helper.clearAllText();
+
+		// Accept removal.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Accept All')
+			.click();
+
+		// Check that we dont have the removed content
+		cy.get('textarea.clipboard')
+			.type('{ctrl}a');
+
+		cy.wait(1000);
+
+		// No selection
+		cy.get('.leaflet-marker-icon')
+			.should('not.exist');
+	});
+
+	it('Reject all changes.', function() {
+		mobileHelper.openHamburgerMenu();
+
+		// First start recording.
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Record')
+			.click();
+
+		// Remove text content.
+		cy.get('#document-container')
+			.click();
+
+		helper.clearAllText();
+
+		writerMobileHelper.selectAllMobile();
+
+		// We dont have actual text content.
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\n\n\n');
+
+		// Reject removal.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Reject All')
+			.click();
+
+		writerMobileHelper.selectAllMobile();
+
+		// We get back the content.
+		cy.contains('#copy-paste-container p', 'xxxxxxx')
+			.should('exist');
+	});
+
+	it('Go to next/prev change.', function() {
+		mobileHelper.openHamburgerMenu();
+
+		// First start recording.
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Record')
+			.click();
+
+		// First change
+		cy.get('textarea.clipboard')
+			.type('q');
+
+		// Second change
+		cy.get('textarea.clipboard')
+			.type('{rightArrow}w');
+
+		// Find second change using prev.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Previous')
+			.click();
+
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\nw');
+
+		// Find first change using prev.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Previous')
+			.click();
+
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\nq');
+
+		// Find second change using next.
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Track Changes')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Next')
+			.click();
+
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\nw');
+	});
+
 	it('Search some word.', function() {
+		mobileHelper.openHamburgerMenu();
+
 		cy.contains('.menu-entry-with-icon', 'Search')
 			.click();
 
@@ -81,8 +321,6 @@ describe('Trigger hamburger menu options.', function() {
 	});
 
 	it('Check word counts.', function() {
-		mobileHelper.closeHamburgerMenu();
-
 		writerMobileHelper.selectAllMobile();
 
 		mobileHelper.openHamburgerMenu();
@@ -118,6 +356,8 @@ describe('Trigger hamburger menu options.', function() {
 	});
 
 	it('Check version information.', function() {
+		mobileHelper.openHamburgerMenu();
+
 		// Open about dialog
 		cy.contains('.menu-entry-with-icon', 'About')
 			.click();
commit 08cb112687a833bef32cdd1f3dfa0b47909b873a
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Sat Jun 13 05:41:46 2020 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Jun 13 17:49:20 2020 +0200

    cypress: tests for some options in hamburger menu (writer, mobile)
    
    Change-Id: I73e7e6732f51298fa12e194da1f337e99e874d80
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96259
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/cypress_test/data/mobile/writer/hamburger_menu.odt b/cypress_test/data/mobile/writer/hamburger_menu.odt
new file mode 100644
index 000000000..bc1afc2f0
Binary files /dev/null and b/cypress_test/data/mobile/writer/hamburger_menu.odt differ
diff --git a/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
new file mode 100644
index 000000000..e6523476c
--- /dev/null
+++ b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
@@ -0,0 +1,147 @@
+/* global describe it cy beforeEach require afterEach */
+
+var helper = require('../../common/helper');
+var mobileHelper = require('../../common/mobile_helper');
+var writerMobileHelper = require('./writer_mobile_helper');
+
+describe('Trigger hamburger menu options.', function() {
+	var testFileName = 'hamburger_menu.odt';
+
+	beforeEach(function() {
+		mobileHelper.beforeAllMobile(testFileName, 'writer');
+
+		// Click on edit button
+		mobileHelper.enableEditingMobile();
+
+		mobileHelper.openHamburgerMenu();
+	});
+
+	afterEach(function() {
+		helper.afterAll(testFileName);
+	});
+
+	it('Search some word.', function() {
+		cy.contains('.menu-entry-with-icon', 'Search')
+			.click();
+
+		// Search bar become visible
+		cy.get('#toolbar-search')
+			.should('be.visible');
+
+		// Search for some word
+		cy.get('#search-input')
+			.type('a');
+
+		// Part of the text should be selected
+		cy.get('.leaflet-marker-icon')
+			.should('exist');
+
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\na');
+
+		cy.get('#copy-paste-container p b')
+			.should('not.exist');
+
+		// Go for the second match
+		cy.get('.w2ui-tb-image.w2ui-icon.next')
+			.click();
+
+		cy.get('#copy-paste-container p b')
+			.should('exist');
+
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\na');
+
+		// Go back to the first match
+		cy.get('.w2ui-tb-image.w2ui-icon.prev')
+			.click();
+
+		cy.get('#copy-paste-container p b')
+			.should('not.exist');
+
+		cy.get('#copy-paste-container p')
+			.should('have.text', '\na');
+
+		// Remove search word
+		cy.get('#search-input')
+			.should('have.prop', 'value', 'a');
+
+		cy.get('.w2ui-tb-image.w2ui-icon.cancel')
+			.click();
+
+		cy.get('#search-input')
+			.should('have.prop', 'value', '');
+
+		// Close search toolbar
+		cy.get('.w2ui-tb-image.w2ui-icon.unfold')
+			.click();
+
+		cy.get('#toolbar-search')
+			.should('not.be.visible');
+	});
+
+	it('Check word counts.', function() {
+		mobileHelper.closeHamburgerMenu();
+
+		writerMobileHelper.selectAllMobile();
+
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Word Count...')
+			.click();
+
+		// Selected counts
+		cy.get('#selectwords')
+			.should('have.text', '61');
+
+		cy.get('#selectchars')
+			.should('have.text', '689');
+
+		cy.get('#selectcharsnospaces')
+			.should('have.text', '629');
+
+		cy.get('#selectcjkchars')
+			.should('have.text', '0');
+
+		// General counts
+		cy.get('#docwords')
+			.should('have.text', '61');
+
+		cy.get('#docchars')
+			.should('have.text', '689');
+
+		cy.get('#doccharsnospaces')
+			.should('have.text', '629');
+
+		cy.get('#doccjkchars')
+			.should('have.text', '0');
+	});
+
+	it('Check version information.', function() {
+		// Open about dialog
+		cy.contains('.menu-entry-with-icon', 'About')
+			.click();
+
+		cy.get('.vex-content')
+			.should('exist');
+
+		// Check the version
+		if (helper.getLOVersion() === 'master') {
+			cy.contains('#lokit-version', 'LibreOffice')
+				.should('exist');
+		} else if (helper.getLOVersion() === 'cp-6-2' ||
+				   helper.getLOVersion() === 'cp-6-4')
+		{
+			cy.contains('#lokit-version', 'Collabora Office')
+				.should('exist');
+		}
+
+		// Close about dialog
+		cy.get('.vex-close')
+			.click({force : true});
+
+		cy.get('.vex-content')
+			.should('not.exist');
+	});
+});
+
commit 14c889cbd17a647475834f2be8c864592d6bbb89
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Sat Jun 13 04:31:11 2020 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Sat Jun 13 17:49:12 2020 +0200

    cypress: fix wrong image file path.
    
    Change-Id: Ifaaf8eda8f2a05740ef77a4713cfa6b1bbb37614
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96258
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zolnai at collabora.com>

diff --git a/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js b/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js
index b61d0c0e0..2b3ae2e85 100644
--- a/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js
+++ b/cypress_test/integration_tests/mobile/impress/insertion_wizard_spec.js
@@ -60,7 +60,7 @@ describe('Impress insertion wizard.', function() {
 			.should('be.visible');
 
 		cy.get('#insertgraphic[type=file]')
-			.attachFile('/mobile/writer/image_to_insert.png');
+			.attachFile('/mobile/impress/image_to_insert.png');
 
 		cy.get('.leaflet-pane.leaflet-overlay-pane svg g')
 			.should('exist');
diff --git a/cypress_test/integration_tests/mobile/writer/insert_object_spec.js b/cypress_test/integration_tests/mobile/writer/insert_object_spec.js
index f649db16d..df72aef3f 100644
--- a/cypress_test/integration_tests/mobile/writer/insert_object_spec.js
+++ b/cypress_test/integration_tests/mobile/writer/insert_object_spec.js
@@ -38,7 +38,7 @@ describe('Insert objects via insertion wizard.', function() {
 			.should('be.visible');
 
 		cy.get('#insertgraphic[type=file]')
-			.attachFile('/mobile/impress/image_to_insert.png');
+			.attachFile('/mobile/writer/image_to_insert.png');
 
 		cy.get('.leaflet-pane.leaflet-overlay-pane svg g.Graphic')
 			.should('exist');


More information about the Libreoffice-commits mailing list