cypress_test/data/desktop/writer/drop_down_form_field_noitem.odt |binary cypress_test/data/desktop/writer/drop_down_form_field_noselection.odt |binary cypress_test/data/desktop/writer/form_field.odt |binary cypress_test/data/desktop/writer/multiple_form_fields.odt |binary cypress_test/integration_tests/desktop/writer/form_field_spec.js | 233 ++++++++++ 5 files changed, 233 insertions(+)
New commits: commit 7d2c519d7656a66b58efe14723c63ee974680570 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Thu May 7 15:35:42 2020 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Sun May 10 17:19:07 2020 +0200 cypress: add tests for form field button. Change-Id: Ie297d9f10edebd857af2e2c4f9f09acd5c1519d8 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93770 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> (cherry picked from commit 76c4d79ffb309d658905ce123a3e0ad2c15bc3b1) Reviewed-on: https://gerrit.libreoffice.org/c/online/+/93928 Reviewed-by: Andras Timar <andras.ti...@collabora.com> diff --git a/cypress_test/data/desktop/writer/drop_down_form_field_noitem.odt b/cypress_test/data/desktop/writer/drop_down_form_field_noitem.odt new file mode 100644 index 000000000..c0b703320 Binary files /dev/null and b/cypress_test/data/desktop/writer/drop_down_form_field_noitem.odt differ diff --git a/cypress_test/data/desktop/writer/drop_down_form_field_noselection.odt b/cypress_test/data/desktop/writer/drop_down_form_field_noselection.odt new file mode 100644 index 000000000..0c433c647 Binary files /dev/null and b/cypress_test/data/desktop/writer/drop_down_form_field_noselection.odt differ diff --git a/cypress_test/data/desktop/writer/form_field.odt b/cypress_test/data/desktop/writer/form_field.odt new file mode 100644 index 000000000..65a1f3f42 Binary files /dev/null and b/cypress_test/data/desktop/writer/form_field.odt differ diff --git a/cypress_test/data/desktop/writer/multiple_form_fields.odt b/cypress_test/data/desktop/writer/multiple_form_fields.odt new file mode 100644 index 000000000..ec69d19fb Binary files /dev/null and b/cypress_test/data/desktop/writer/multiple_form_fields.odt differ diff --git a/cypress_test/integration_tests/desktop/writer/form_field_spec.js b/cypress_test/integration_tests/desktop/writer/form_field_spec.js new file mode 100644 index 000000000..8fbc268fb --- /dev/null +++ b/cypress_test/integration_tests/desktop/writer/form_field_spec.js @@ -0,0 +1,233 @@ +/* global describe it cy require afterEach expect */ + +var helper = require('../../common/helper'); + +describe('Form field button tests.', function() { + + afterEach(function() { + helper.afterAll('form_field.odt', 'writer'); + }); + + function buttonShouldNotExist() { + cy.get('.form-field-frame') + .should('not.exist'); + + cy.get('.form-field-button') + .should('not.exist'); + + cy.get('.drop-down-field-list') + .should('not.exist'); + } + + function buttonShouldExist() { + cy.get('.form-field-frame') + .should('exist'); + + cy.get('.form-field-button') + .should('exist'); + + cy.get('.drop-down-field-list') + .should('exist'); + } + + it('Activate and deactivate form field button.', function() { + helper.loadTestDoc('form_field.odt', 'writer'); + + // We don't have the button by default + buttonShouldNotExist(); + + // Move the cursor next to the form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Move the cursor again to the other side of the field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Move the cursor away + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldNotExist(); + + // Move the cursor back next to the field + cy.get('textarea.clipboard') + .type('{leftArrow}'); + + buttonShouldExist(); + }); + + it('Check drop down list.', function() { + helper.loadTestDoc('form_field.odt', 'writer'); + + // Move the cursor next to the form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + cy.get('.drop-down-field-list') + .should('not.be.visible'); + + // Check content of the list + cy.get('.drop-down-field-list') + .should(function(list) { + expect(list[0].children.length).to.be.equal(4); + expect(list[0].children[0]).to.have.text('February'); + expect(list[0].children[1]).to.have.text('January'); + expect(list[0].children[2]).to.have.text('December'); + expect(list[0].children[3]).to.have.text('July'); + }); + + cy.get('.drop-down-field-list-item.selected') + .should('have.text', 'February'); + + // Select a new item + cy.get('.form-field-button') + .click(); + + cy.get('.drop-down-field-list') + .should('be.visible'); + + cy.contains('.drop-down-field-list-item', 'July') + .click(); + + // List is hidden, but have the right selected element + cy.get('.drop-down-field-list') + .should('not.be.visible'); + + cy.get('.drop-down-field-list-item.selected') + .should('have.text', 'July'); + }); + + it('Test field editing', function() { + helper.loadTestDoc('form_field.odt', 'writer'); + + // Move the cursor next to the form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + // Select a new item + cy.get('.form-field-button') + .click(); + + cy.get('.drop-down-field-list') + .should('be.visible'); + + cy.contains('.drop-down-field-list-item', 'January') + .click(); + + // Move the cursor away and back + cy.get('textarea.clipboard') + .type('{leftArrow}'); + + buttonShouldNotExist(); + + // Move the cursor back next to the field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + cy.get('.drop-down-field-list-item.selected') + .should('have.text', 'January'); + + // Do the same from the right side of the field. + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Select a new item + cy.get('.form-field-button') + .click(); + + cy.get('.drop-down-field-list') + .should('be.visible'); + + cy.contains('.drop-down-field-list-item', 'December') + .click(); + + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldNotExist(); + + // Move the cursor back next to the field + cy.get('textarea.clipboard') + .type('{leftArrow}'); + + buttonShouldExist(); + + cy.get('.drop-down-field-list-item.selected') + .should('have.text', 'December'); + }); + + it('Multiple form field button activation.', function() { + helper.loadTestDoc('multiple_form_fields.odt', 'writer'); + + // We don't have the button by default + buttonShouldNotExist(); + + // Move the cursor next to the first form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Move the cursor to the other side of the field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Move the cursor to the second form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Move the cursor to the other side of the second field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + // Move the cursor away of the second field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldNotExist(); + }); + + it('Test drop-down field with no selection.', function() { + helper.loadTestDoc('drop_down_form_field_noselection.odt', 'writer'); + + // Move the cursor next to the form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + cy.get('.drop-down-field-list-item.selected') + .should('not.exist'); + }); + + it('Test drop-down field with no items.', function() { + helper.loadTestDoc('drop_down_form_field_noitem.odt', 'writer'); + + // Move the cursor next to the form field + cy.get('textarea.clipboard') + .type('{rightArrow}'); + + buttonShouldExist(); + + cy.get('.drop-down-field-list-item') + .should('not.exist'); + }); +}); + _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits