[Libreoffice-commits] online.git: cypress_test/integration_tests loleaflet/src

Tamás Zolnai (via logerrit) logerrit at kemper.freedesktop.org
Mon Jun 15 13:33:50 UTC 2020


 cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js |   84 ++++++++++
 loleaflet/src/layer/tile/TileLayer.js                               |    6 
 2 files changed, 89 insertions(+), 1 deletion(-)

New commits:
commit 9102a8aaf51f49110a8c555fe4ab658873f47b03
Author:     Tamás Zolnai <tamas.zolnai at collabora.com>
AuthorDate: Mon Jun 15 14:43:14 2020 +0200
Commit:     Tamás Zolnai <tamas.zolnai at collabora.com>
CommitDate: Mon Jun 15 15:33:32 2020 +0200

    cypress: test download as options (writer, mobile).
    
    We can't test the actual download:
    https://github.com/cypress-io/cypress/issues/949
    
    What we test is that we get a proper URL, after triggered
    the download as menu item. This src attribute is set after
    the core exported the file and sent back the URL for it.
    
    We avoid download for test, because we can't control the
    download folder. It's better not to save files without
    clean up. Downloading is not working in headless mode
    anyway.
    
    Change-Id: I93664be7f55e4df863448adc734fa9cfc7b3638f
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/96352
    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 c024c286b..7ad042a2c 100644
--- a/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
+++ b/cypress_test/integration_tests/mobile/writer/hamburger_menu_spec.js
@@ -18,6 +18,90 @@ describe('Trigger hamburger menu options.', function() {
 		helper.afterAll(testFileName);
 	});
 
+	it('Download as PDF', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Download as')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'PDF Document (.pdf)')
+			.click();
+
+		cy.get('iframe')
+			.should('have.attr', 'data-src')
+			.should('contain', 'document.pdf');
+	});
+
+	it('Download as ODT', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Download as')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'ODF text document (.odt)')
+			.click();
+
+		cy.get('iframe')
+			.should('have.attr', 'data-src')
+			.should('contain', 'document.odt');
+	});
+
+	it('Download as DOC', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Download as')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Word 2003 Document (.doc)')
+			.click();
+
+		cy.get('iframe')
+			.should('have.attr', 'data-src')
+			.should('contain', 'document.doc');
+	});
+
+	it('Download as DOCX', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Download as')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Word Document (.docx)')
+			.click();
+
+		cy.get('iframe')
+			.should('have.attr', 'data-src')
+			.should('contain', 'document.docx');
+	});
+
+	it('Download as RTF', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Download as')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'Rich Text (.rtf)')
+			.click();
+
+		cy.get('iframe')
+			.should('have.attr', 'data-src')
+			.should('contain', 'document.rtf');
+	});
+
+	it('Download as EPUB', function() {
+		mobileHelper.openHamburgerMenu();
+
+		cy.contains('.menu-entry-with-icon', 'Download as')
+			.click();
+
+		cy.contains('.menu-entry-with-icon', 'EPUB (.epub)')
+			.click();
+
+		cy.get('iframe')
+			.should('have.attr', 'data-src')
+			.should('contain', 'document.epub');
+	});
+
 	it('Undo/redo.', function() {
 		// Type a new character
 		cy.get('textarea.clipboard')
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 7df2df248..2275206a5 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -934,7 +934,11 @@ L.TileLayer = L.GridLayer.extend({
 			this._map.fire('slidedownloadready', {url: url});
 		}
 		else if (command.id === 'export') {
-			this._map._fileDownloader.src = url;
+			// Don't do a real download during testing
+			if (!L.Browser.cypressTest)
+				this._map._fileDownloader.src = url;
+			else
+				this._map._fileDownloader.setAttribute('data-src', url);
 		}
 	},
 


More information about the Libreoffice-commits mailing list