cypress_test/data/mobile/writer/spellcheck.odt |binary cypress_test/integration_tests/mobile/writer/spellchecking_spec.js | 152 ++++++++++ 2 files changed, 152 insertions(+)
New commits: commit 466eedabb04a6222d45286151ae15fe0dd0a28d1 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Fri Feb 14 15:36:31 2020 +0100 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Fri Feb 14 16:23:49 2020 +0100 cypress: mobile: Add some basic tests for spellchecking context menu. Change-Id: I9ff2ce361670e407e8823f08c253e60bde3e8657 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/88719 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/data/mobile/writer/spellcheck.odt b/cypress_test/data/mobile/writer/spellcheck.odt new file mode 100644 index 000000000..31ec2347e Binary files /dev/null and b/cypress_test/data/mobile/writer/spellcheck.odt differ diff --git a/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js b/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js new file mode 100644 index 000000000..a23105b44 --- /dev/null +++ b/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js @@ -0,0 +1,152 @@ +/* global describe it cy beforeEach require afterEach expect*/ + +var helper = require('../../common/helper'); + +describe('Spell checking menu.', function() { + beforeEach(function() { + helper.beforeAllMobile('spellcheck.odt', 'writer'); + + // Click on edit button + cy.get('#mobile-edit-button').click(); + }); + + afterEach(function() { + helper.afterAll(); + }); + + function openContextMenu() { + // Do a new selection + helper.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(); + } + } + + // Remove selection + cy.get('#document-container') + .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(); + + helper.copyTextToClipboard(); + + cy.get('#copy-paste-container p') + .then(function(item) { + expect(item).to.have.lengthOf(1); + expect(item[0].innerText).to.have.string('hello'); + }); + }); + + it('Ignore one.', function() { + openContextMenu(); + + cy.get('.context-menu-link') + .contains('Ignore') + .click(); + + openContextMenu(); + + // We don't get the spell check context menu any more + cy.get('.context-menu-link') + .contains('Paste'); + }); + + it('Ignore all.', function() { + openContextMenu(); + + // TODO: Why we have a non-breaking space here? + cy.get('.context-menu-link') + .contains('Ignore\u00a0All') + .click(); + + openContextMenu(); + + // We don't get the spell check context menu any more + cy.get('.context-menu-link') + .contains('Paste'); + }); + + it('Check language status for selection.', function() { + openContextMenu(); + + cy.get('.sub-menu-title') + .contains('Set Language for Selection') + .click(); + + // English is selected + cy.get('.menu-entry-checked') + .contains('English\u00a0(USA)'); + }); + + it('Set None Language for selection.', function() { + openContextMenu(); + + cy.get('.sub-menu-title') + .contains('Set Language for Selection') + .click(); + + // English is selected + cy.get('.menu-entry-checked') + .contains('English\u00a0(USA)'); + + openContextMenu(); + + // We don't get the spell check context menu any more + cy.get('.context-menu-link') + .contains('None\u00a0(Do not check spelling)'); + }); + + it('Check language status for paragraph.', function() { + openContextMenu(); + + cy.get('.sub-menu-title') + .contains('Set Language for Paragraph') + .click(); + + // English is selected + cy.get('.menu-entry-checked') + .contains('English\u00a0(USA)'); + }); + + it('Set None Language for paragraph.', function() { + openContextMenu(); + + cy.get('.sub-menu-title') + .contains('Set Language for Paragraph') + .click(); + + // English is selected + cy.get('.menu-entry-checked') + .contains('English\u00a0(USA)'); + + openContextMenu(); + + // We don't get the spell check context menu any more + cy.get('.context-menu-link') + .contains('None\u00a0(Do not check spelling)'); + }); +}); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits