Commit graph

1257 commits

Author SHA1 Message Date
Gökay Şatır
9fd60f55e0 Update Cypress tests.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I7bc9bca411f8caade56a56e9de16ad31921db16c
2023-08-16 14:30:14 +03:00
Gökay Şatır
3d1725ea44 Cypress updates.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Ieefdcae70be0fce920e2e2b3d3b6ba1b179a6857
2023-08-14 14:24:46 +03:00
Gökay Şatır
7d084e40cb Update cypress tests.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I1c60f89d6ab68e4a61861d77383010dd7f22480a
2023-08-14 14:24:46 +03:00
Szymon Kłos
eee6e49e8a cypress: fix unstable alignment test
sometimes svg generation takes more time it seems

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I0e6ad493cb452a9725235f2c01c6792126b8de9c
2023-08-13 11:35:40 +02:00
Szymon Kłos
697f4a6109 cypress: fix failing table tests
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I6132ec3a794de75caa6d1ba0c94e730cda94ea0b
2023-08-13 11:35:40 +02:00
Szymon Kłos
b85eb1b03f cypress: fix svg text-decoration detection
this was changed in the core:
commit 0a549b2c9595cd076e3b503b67df93bff380885a
svg: export text decoration for text run not paragraph

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I8906ee07c7ff88c9dcdbebe73d2c620e797a8b3a
2023-08-12 10:34:15 +02:00
Marco Cecchetti
96a7cfb25e a11y: provide info about current table and cell to screen reader
When we get in one or more tables screen reader reports row and column
count.
When we get out one or more table screen report reports "out of table"
for each table.
When the fosused cell changes screen reader reports new row/col index.
Screen reader reports cell paragraph content, too.
Added also cypress tests for checking that the table/cell description
string is correct.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I078b29a2f76f91df479f75db76113c80405f7169
2023-08-10 09:29:09 +02:00
Henry Castro
8773e0e050 cypress: cypress logs for cool.html iframe
Also logs unhandled exceptions from iframe cool.html

Change-Id: I6f7b7d1340c8818d3f81916d42d6d9ed2920e35c
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
3c0731bf2c cypress: add emacs mode lines
Change-Id: I2cb19d34639ea6af55c693fad7bef8855a0ccba3
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
aa6be258fa cypress: upgrade version 12.17.0
Change-Id: I1464063e5149143f9a0aa4a1f5a433f5171b1d8e
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
fc791bbf37 cypress: fix missing package 'semver'
Change-Id: Ica5bd8d562127b9369b7b1fdf19a0dad3a861ef0
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
6ea782103f cypress: logging 'npm install'
Change-Id: I6b188bae89f2389124946c0fda497c9f9744e6b4
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
95436dcb3f cypress: fix missing dependencies
Change-Id: I5439d769dce043b8fc33416d0aa618a371314c26
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
a396c91886 cypress: check if NODE_PATH env exits
Change-Id: I69b64f1ad29e2ddd09663444922e8c1dc16411f2
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
9bcc79b266 cypress: add option baseURL
Setting a baseURL cypress verify if the server is
running and prevents to refresh when command cy.visit()

Change-Id: I1cffc0932d6a1ec4ee9793eb3935f60e02ca2545
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
f3787c85e8 cypress: install package 'cypress-terminal-report'
https://github.com/archfz/cypress-terminal-report

Change-Id: I242e421aeb02ee3861b16af78af87c6a9db22ad5
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
e69969a07b cypress: install package "@cypress/webpack-preprocessor"
"https://github.com/cypress-io/cypress-webpack-preprocessor"

Change-Id: Id261c7d1675c6f6c30d5f1661b4988511528b0d7
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
1ac16a13f1 cypress: remove plugin package 'cypress-failed-log'
It has a bug, it executes twice beforeEach function
if fails or unhandled exception.

Change-Id: I005815d440af0309cf797e52fbfb3693896418a9
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
2ec6bd70a2 cypress: disable screenshot
not useful for C.I. for now.

Change-Id: I1940d617b6b7c5f0a7dcae7e38c58dc5bd57f2e4
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
51ae4a836e cypress: logging stack traces of the unit test failing
Change-Id: Ic06c62b1cbd467abe17a5ff859848ca10673b4a4
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
a32cbb311d cypress: logging unhandled exceptions
Change-Id: I82bd3552fbf0b844492340762899b5c492148eca
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
a2048ce70d cypress: fix "loadTestDoc" remote server
If it is a remote 'coolwsd' server,
there is no way to rename or copy files.

Change-Id: Ic38302de5ecf3fa08fedd485d6060ede320867bc
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
119eee8036 cypress: fix work folder if remote server
If it is already running remote "coolwsd"" server,
there is no way to create a remote work folder.

Change-Id: I17932fcca321e2f7e0cdfcab2ad678dbcffc56ed
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
54e79ce289 cypress: add option "verbose=1"
To debug and trace command executions

Change-Id: I5e458c2db4cedef32b24e5925b38c1ee2aaaa4cd
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
ffb0bb8f7e cypress: add option "coolwsd=server:port"
It is useful inspect logs and run unit test
with an already running coolwsd instance.

Change-Id: I6b01316d552e3d12bf63db9cc7e813adb33a20c0
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
dec0fe5a83 cypress: fix missing config file, builddir != srcdir
"Could not find a Cypress configuration file in this folder""

Change-Id: I7d5b2094d6cd10ca3da2a099650f830bee31dfb1
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Henry Castro
a2920949d0 cypress: fix eslint error, buildir != srcdir
11:26  error  'process' is not defined  no-undef

Change-Id: I637bda97d3ba360a095c04a1987c9c64eef1349c
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-07-10 10:49:04 -04:00
Marco Cecchetti
ff34b16947 cypress tests for accessibility toggle ui
Helper functions:
checkAccessibilityEnabledToBe
  check accessibility state independently from current desktop ui
setAccessibilityState
  set accessibility state independently from current desktop ui

Both helper functions check that ui state and a11y support in text
input element are in sync.

Enable/Disable Accessibility Support
  test state toggling and state preservation when switching ui

Typing after switching accessibility state
  check editable area content after toggling accessibility support

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Icce5ae148024a8abf9b65a90229915f28f720554
2023-07-10 16:02:18 +02:00
Gökay Şatır
15cde8c880 Sometimes Cypress doesn't try multiple times when commands are chained.
Breaking the chain may be useful in this case, in order to benefit from timeout.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I4242df23698b2019028cb4e8a3c6206499b80083
2023-07-07 01:27:27 +03:00
Szymon Kłos
c94be3e5f8 formulabar: use IME with new contenteditable
It converts textarea into contenteditable div.
Input is handled by TextInput.js used for document
and already in the past for formulabar. Replaces
usage of keyevents which are not triggered with
eg. Japanese.

Fixes also #6737
Fixes on mobile #6767 requires: https://gerrit.libreoffice.org/c/core/+/153717

New widget consists of text layer with visible content
and cursor layer with selections and cursor. When clicked
it focuses TextInput.js field for typing.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ieb7cf148a5aba80ab790e0b53c3a5ba27f166b73
2023-07-02 18:55:12 -04:00
Marco Cecchetti
226a758594 cypress tests when editing with a11y disabled
Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I54ae4515ba1b59711cfbd719db777d02f4735d7a
2023-06-29 13:43:13 +02:00
Marco Cecchetti
2cf2a1e891 cypress: expectTextForClipboard helper function never fails
expectTextForClipboard(expectedText) never fails for any passed
expectedText string
The value returned by the function passed to `then` cypress construct
must not be regarded as an implicit assertion.

I don't see anymore the '\n TEXT" case. It seems that comparing for
equality against the selected plain content is enough.

Fixed some cypress test that was failing after modifying
expectTextForClipboard.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I64ce31fa2127efcc70bbc3da3ac45fe456e66803
2023-06-29 13:43:13 +02:00
Marco Cecchetti
ef02d909a2 a cypress env var for enable/disable a11y on testing + a a11y tags
Now you can use CYPRESS_A11Y for enable/disable accessibility state on
testing.
Moreover you can use the taga11yenabled tag for tests that should be
run only when accessibility is enabled, and the taga11ydisabled tag
for test that should be run only when accessibility is disabled

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I4c44e78e5394477b64cc17ac6b815d9d70b059f5
2023-06-29 13:43:13 +02:00
Henry Castro
8803bfa9a4 cypress: fix failing unit test apply_paragraph_props_text_spec.js
The unit test fails by 1 pixel offset, add some tolerance

"'assert expected [ <tspan.TextPosition>, 1 more... ] to have attribute y with the value '7822', but the value was '7823'""
.

Change-Id: Ieb36eedf1a17aadd3ba4872e9c4f94a3b18d0a73
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-06-28 18:15:53 -04:00
Henry Castro
e38bc519ae cypress: fix possible random file duplicates
The failing unit test it is due to a duplicate file
that was modified with new properties.

Change-Id: I02824cfeaf8c496e84dc4e285975e95e79edb9df
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-06-28 18:15:53 -04:00
Henry Castro
91b83bd44d cypress: adjust values for '#copy-paste-container' elements
The element '#copy-paste-container' according to the documentation
it is only to prevent flickering, so check only if has children.

Change-Id: I11ecdf156c6fee8657e5cd42c2c7daf9f206410b
Signed-off-by: Henry Castro <hcastro@collabora.com>
2023-06-28 18:15:53 -04:00
Marco Cecchetti
11767353b3 a11y: editable area: cypress tests for list editing
New tests:
- Check content
- Moving between entries
- Add entries
- Typing <backspace> at entry beginning
- Typing <delete> at entry end
- Selecting at entry beginning

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Ib831bb9f44f9fe3828e8f77fcdaf7f12ef901644
2023-06-15 15:00:18 -04:00
Marco Cecchetti
809234805e refactored cypress tests for editable area
Helper functions has been moved to external file:
contenteditable_helper.js

Tests have been subdiveded in groups.

Spec file renamed from editing_spec to editable_area_spec

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: Ifdb18b0de4851a2fc927b3a8fb3b1472165f2b7f
2023-06-15 15:00:18 -04:00
Marco Cecchetti
39be94e852 Force notebookbar ui when a11y is enabled
When accessibility is enabled in coolwsd.xml, overrides setting in
<user-interface> section by force to use the notebookbar UI.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I98f4b288439b21110214ca2a67df639b397184c9
2023-06-15 08:54:51 +01:00
Marco Cecchetti
d01bedc09c a11y: add config for enable/disable accessibility in general
A new section about accessibility has been appended to coolwsd.xml
config file

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I086abdf73646639283eb655ae60f200fb64e495a
2023-06-08 00:00:51 +02:00
Gökay Şatır
31a74f7537 Disable navigator tests for now.
There will be a setting for them.

Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: I75264e7de14f79642cfd33a7d798ec78188f9213
2023-06-06 14:49:30 +03:00
Marco Cecchetti
b9f9cef60a a11y: populating editable area with focused paragraph
We handle notification from core about currently focused paragraph:
content, caret position, text selection start/end.
Notifications are sent on any text changes, even when the text has
been modified in another view.
Moreover we can request such info to core at any time.
That allows AT software to read focused paragraph and selected text.
All that keeping editing still working.
A set of new cypress tests for checking clipboard content has been
developed.

failing cpp unit test:
- HTTPWSTest::testInactiveClient
'unexpected message' assertion was failing since an idle client can
receive an a11yfocuschanged message when the same paragraph has focus
in both view and the active view is editing the paragraph.

failing cypress tests:
desktop
- calc/autofilter_spec.js
  - added more wait time before performing clickOnFirstCell
- impress/undo_redo_spec.js
  - Repair Document was broken
    - we need to select 'Hello world' in order to overwrite it

mobile
- impress/spellchecking_spec.js
  - Apply suggestion
    - better use selectTextOfShape instead of Ctrl-A

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I070d390543fa66fe786c4a0661fa09f891b9883e
2023-05-31 22:43:51 +02:00
Marco Cecchetti
d7e302c94a a11y: TextInput: switch from <textarea> to content editable <div>
Refactored TextInput implementation. A content editable <div> is used
in place of <textarea>.
<img> elements are used as pre/post spaces.
Minimal changes to FormulaBarJSDialog, since some code was
dependendent on
TextInput details.
Refactored some cypress helper funcions, too, since cypress tests
expected a <textarea> element.

Signed-off-by: Marco Cecchetti <marco.cecchetti@collabora.com>
Change-Id: I13fd7d5c6446dea054a5a9e88f22ed100a66b3fb
2023-05-31 22:43:51 +02:00
Attila Szűcs
46a44c743a Navigator: cypress test for draw
Added Desktop tests for draw

Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
Change-Id: I94a5048c8bf6082059375c5742fb781263c643f4
2023-05-30 14:19:01 +02:00
Attila Szűcs
f2d89c93a7 Navigator: more cypress tests
Added Desktop tests for calc and impress.

Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
Change-Id: I80616cc9e8a9dd7160e9b33fa50047db83911590
2023-05-30 14:19:01 +02:00
Attila Szűcs
74181fed7a Navigator: cypress tests
Added Desktop, and Multiuser tests for writer.

Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
Change-Id: I1bbb32303c66eb499cb837289a51caafdf2055a8
2023-05-30 14:19:01 +02:00
Szymon Kłos
8fe7cf5fec navigator: fix switching in compact mode
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: Ia5582f36df528235e6ca3f8df583412becd47203
2023-05-25 13:16:29 +02:00
Gökay Şatır
529f48e423 Remove notebookbar seperation from Cypress tests.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: If07b5f54b60cd0d7a934f97973a487f103702581
2023-05-16 14:20:17 +03:00
Gökay Şatır
71fe95eb92 Skip multi-user tests for now.
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com>
Change-Id: Ie747587e9589872bc99be9bb4204cd11803aaac1
2023-05-15 16:34:29 +03:00
Szymon Kłos
afbf052bb5 jsdialog: use minial size of a dialog needed
Use 'position: absolute' in jsdialog-window and jsdialog-container
so we don't stretch the dialog. It will use minimal needed size.

Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I7b38b9200e190cfc184bf4bfe8b7bd814c60d5a6
2023-05-15 07:55:22 +02:00