cypress_test/Makefile.am                                         |    1 
 cypress_test/data/mobile/calc/spellchecking.ods                  |binary
 cypress_test/integration_tests/mobile/calc/spellchecking_spec.js |  152 
++++++++++
 3 files changed, 153 insertions(+)

New commits:
commit 29aa5e15d2364dc283fd98bee7caf7cfc136ebf8
Author:     Tamás Zolnai <tamas.zol...@collabora.com>
AuthorDate: Tue Mar 17 12:22:32 2020 +0100
Commit:     Tamás Zolnai <tamas.zol...@collabora.com>
CommitDate: Tue Mar 17 18:23:10 2020 +0100

    cypress: calc-mobile: add tests for spellchecking menu.
    
    Change-Id: If0c1af21c69b49452ccdc24e3c908396a045e03d
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90615
    Tested-by: Tamás Zolnai <tamas.zol...@collabora.com>
    Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com>

diff --git a/cypress_test/Makefile.am b/cypress_test/Makefile.am
index f3ad18904..d712c5296 100644
--- a/cypress_test/Makefile.am
+++ b/cypress_test/Makefile.am
@@ -34,6 +34,7 @@ MOBILE_TEST_FILES= \
        calc/apply_font_spec.js \
        calc/focus_spec.js \
        calc/insertion_wizard_spec.js \
+       calc/spellchecking_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/spellchecking.ods 
b/cypress_test/data/mobile/calc/spellchecking.ods
new file mode 100644
index 000000000..431abff4e
Binary files /dev/null and b/cypress_test/data/mobile/calc/spellchecking.ods 
differ
diff --git a/cypress_test/integration_tests/mobile/calc/spellchecking_spec.js 
b/cypress_test/integration_tests/mobile/calc/spellchecking_spec.js
new file mode 100644
index 000000000..6d8f5930e
--- /dev/null
+++ b/cypress_test/integration_tests/mobile/calc/spellchecking_spec.js
@@ -0,0 +1,152 @@
+/* global describe it cy beforeEach require afterEach expect*/
+
+var helper = require('../../common/helper');
+var calcHelper = require('./calc_helper');
+
+describe('Calc spell checking menu.', function() {
+       beforeEach(function() {
+               helper.beforeAllMobile('spellchecking.ods', 'calc');
+
+               // Click on edit button
+               cy.get('#mobile-edit-button')
+                       .click();
+       });
+
+       afterEach(function() {
+               helper.afterAll('spellchecking.ods');
+       });
+
+       function openContextMenu() {
+               // Step into edit mode
+               calcHelper.clickOnFirstCell();
+               calcHelper.clickOnFirstCell();
+
+               // Select text content
+               cy.get('textarea.clipboard')
+                       .type('{ctrl}a');
+
+               // 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();
+                                       }
+                               }
+
+                               // Remove selection
+                               cy.get('textarea.clipboard')
+                                       .type('{leftarrow}');
+                               cy.get('.leaflet-marker-icon')
+                                       .should('not.exist');
+
+                               var XPos = startPos.right + 10;
+                               var YPos = endPos.top - 10;
+                               helper.longPressOnDocument(XPos, YPos);
+                       });
+
+               cy.get('#mobile-wizard-content')
+                       .should('be.visible');
+       }
+
+       it('Apply suggestion.', function() {
+               openContextMenu();
+
+               cy.get('.context-menu-link')
+                       .contains('hello')
+                       .click();
+
+               // Click outside of the cell
+               cy.get('.leaflet-marker-icon')
+                       .then(function(items) {
+                               expect(items).to.have.length(2);
+                               var XPos = 
items[0].getBoundingClientRect().right;
+                               var YPos = 
items[0].getBoundingClientRect().bottom + 10;
+                               cy.get('body')
+                                       .click(XPos, YPos);
+                       });
+
+               calcHelper.copyContentToClipboard();
+
+               cy.get('#copy-paste-container table td')
+                       .then(function(item) {
+                               expect(item).to.have.lengthOf(1);
+                               
expect(item[0].innerText).to.have.string('hello');
+                       });
+       });
+
+       it('Ignore all.', function() {
+               openContextMenu();
+
+               cy.get('.context-menu-link')
+                       .contains('Ignore All')
+                       .click();
+
+               // Click outside of the cell
+               cy.get('.leaflet-marker-icon')
+                       .then(function(items) {
+                               expect(items).to.have.length(2);
+                               var XPos = 
items[0].getBoundingClientRect().right;
+                               var YPos = 
items[0].getBoundingClientRect().bottom + 10;
+                               cy.get('body')
+                                       .click(XPos, YPos);
+                       });
+
+               openContextMenu();
+
+               // We don't get the spell check context menu any more
+               cy.get('.context-menu-link')
+                       .contains('Paste');
+       });
+
+       it('Apply language for word.', function() {
+               openContextMenu();
+
+               cy.get('.context-menu-link')
+                       .contains('Word is Finnish')
+                       .click();
+
+               // Click outside of the cell
+               cy.get('.leaflet-marker-icon')
+                       .then(function(items) {
+                               expect(items).to.have.length(2);
+                               var XPos = 
items[0].getBoundingClientRect().right;
+                               var YPos = 
items[0].getBoundingClientRect().bottom + 10;
+                               cy.get('body')
+                                       .click(XPos, YPos);
+                       });
+
+               openContextMenu();
+
+               // We don't get the spell check context menu any more
+               cy.get('.context-menu-link')
+                       .contains('Paste');
+       });
+
+       it('Apply language for paragraph.', function() {
+               openContextMenu();
+
+               cy.get('.context-menu-link')
+                       .contains('Paragraph is Finnish')
+                       .click();
+
+               // Click outside of the cell
+               cy.get('.leaflet-marker-icon')
+                       .then(function(items) {
+                               expect(items).to.have.length(2);
+                               var XPos = 
items[0].getBoundingClientRect().right;
+                               var YPos = 
items[0].getBoundingClientRect().bottom + 10;
+                               cy.get('body')
+                                       .click(XPos, YPos);
+                       });
+
+               openContextMenu();
+
+               // We don't get the spell check context menu any more
+               cy.get('.context-menu-link')
+                       .contains('Paste');
+       });
+});
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to