Commit graph

377 commits

Author SHA1 Message Date
John McLear
0dc59eba4d
tests: authorship test fix (#4001)
* Placeholderfortest

* rename script and make it work
2020-05-27 16:55:14 +01:00
John McLear
bcdb331c79
tests: Embed test fix (#4020)
* quick fix for iframe code wihch someone broke

* Also fix cookie test
2020-05-27 16:54:20 +01:00
Daniel Krol
770c1c80b7 tests: properly clear cookies in test helper
This was introduced in 2012 with cd368b5f8e.
2020-05-13 19:29:53 +02:00
Daniel Krol
30884dd93d tests: in helper.js, add test for clearing cookies 2020-05-13 19:29:53 +02:00
John McLear
0f827ca104 tests: fix timeslider revision tests (#3898) 2020-04-19 15:15:15 +01:00
muxator
86ceeb0f15 tests: remove the scroll tests (#3897) 2020-04-19 17:25:30 +02:00
Sebastian Castro
7a6d212e17 test: fix chat
Change way of clicking the settings button, and use stick-to-screen button is second test
2020-04-19 03:03:44 +02:00
Sebastian Castro
87fb23149d test: fix layout so pad is 820px large, so is not considered as mobile 2020-04-19 03:03:44 +02:00
Sebastian Castro
21afd538aa tests: fix change_ser_color, force color author to be on 2020-04-19 03:03:44 +02:00
Sebastian Castro
f5cd5a3379 test: fix pad_modal test with new popups
Old check is jquery is(':visible') no longer works because we use css property visibility hidden (for animation to work properly), and not display none
2020-04-19 03:03:44 +02:00
muxator
c0d9797d0f formatting: remove trailing whitespaces on files Sebastian is going to modify
In the following commits Sebastian is going to edit three files. This change is
necessary make evident what he is going to modify, because some of them are old
vendorized libraries whose history we might want to reconstruct.

No functional changes.

Command:
    sed --in-place 's/[[:space:]]*$//' src/static/js/farbtastic.js
    sed --in-place 's/[[:space:]]*$//' src/static/js/gritter.js
    sed --in-place 's/[[:space:]]*$//' tests/frontend/specs/change_user_color.js
2020-04-19 03:03:44 +02:00
Christian Schröder
5537ef3950 test: fix settings loading in api/instance backend test
With commit 44186ed (tests: remove loadSettings.js for backend tests.)
the loading of the settings in backendtests changed. One test spec
was not updated.
2020-04-16 03:03:20 +02:00
muxator
44186edbc5 tests: remove loadSettings.js for backend tests.
The old loadSettings.js was a way of customizing settings upon load, because
the Settings module did not offer this functionality. But it did not work well,
since all the default settings were not loaded.

Let's get rid of loadSettings.js for the bulk of the tests (the "backend"
specs). For the "container" specs, we'll keep it in place until/if we rewrite
Settings.js making it less brittle.
2020-04-14 03:36:13 +02:00
Chocobozzz
8c4625ec50 tests: add tests for listAllPads() API call
--HG--
branch : padlist-use-set
2020-04-09 03:39:32 +02:00
John McLear
babf67175c undomodule: disallow undoing "clear authorship colors"
Clearing the authorship colors of a document with at least two authors, and then
undoing that action caused a disconnect from the pad.
This change disallows undoing clearing authorship colors in order to prevent
the problem from affecting users, and adds the relative test coverage.

This is a change of behaviour, and is documented in the changelog.

Fixes #2802 (sidestepping it).
2020-04-08 15:20:37 +02:00
muxator
e6251687bf api: test coverage for getStats() 2020-04-04 22:03:46 +02:00
John McLear
93180c287b
tests: in Travis, also run the backend tests
This change introduces automatic execution of the backend tests in Travis.

Implements #2351.
2020-04-03 03:27:05 +02:00
Viljami Kuosmanen
ccf406708e openapi: support standard http error codes
API errors are now handled at the end of the request heap by
throwing exceptions from the handler
2020-04-03 01:03:11 +02:00
Viljami Kuosmanen
6aa30f213a openapi: add jsonp support + test 2020-04-03 01:03:11 +02:00
Daniel Krol
ac9d7f80cc tests: add tests showing that the color chooser is not initialized with the user's color
When opening the color chooser after a page load, the selected color is always
gray, and not the user's color.
2020-04-01 02:34:56 +02:00
John McLear
6c12a7fb1f tests: backend tests for utf8 & emojis support 2020-03-31 02:11:25 +02:00
John McLear
352b432ed1 tests: in backend tests, use POST instead of GET for setText() and setHTML()
This is allowed starting from fc661ee13a ("core: allow URL parameters and POST
bodies to co-exist"), which landed in Etherpad 1.8.0. For the discussion, see
issue #3568.
2020-03-31 02:11:25 +02:00
muxator
b2dc446740 tests: typo in a comment in the backend tests 2020-03-31 02:11:25 +02:00
muxator
4a17443a2e tests: future proof travis/runner.sh and make it more robust
This change only slightly modifies the bahaviour of travis/runner.sh, but:

1. speeds up the tests, because it does not install dependencies before running
   them. Dependencies are already installed by .travis.yml in its "install"
   section;
2. if for some reason Etherpad does not start, there is a sudden failure,
   instead of launching the front end tests anyway, and then having to wait 10
   minutes for them to time out;
3. it is compatible with a different way of installing etherpad dependencies
   ("npm ci" instead of "npm install"), whereas the previous one broke. This
   will probably be introduced in a while, so this change future-proofs for it
   (see #3778).
4. it is more robust, because it detects more reliably the paths, and changes
   between them correctly;

Please note that the script now requires bash instead of a generic posix shell.
This may break on platforms which default to a different shell (FreeBSD, MacOS?)
2020-03-29 23:59:28 +02:00
John McLear
8f2ad7a0e8 tests: use latest Safari in Saucelab front end tests
I verified that, as of today, "latest" Safari version works on Saucelabs.
2020-03-26 23:26:25 +01:00
John McLear
3c78ada8da tests: disable a scroll test that needs to be looked at 2020-03-24 23:24:38 +01:00
John McLear
ee47bac7b0 tests: increase timeout 2020-03-24 23:24:38 +01:00
John McLear
7cf911c330 tests: don't run specific tests in Edge that simulate enter keypress
Because I can't get enter keypress to simulate properly despite trying various
approaches.
2020-03-24 23:24:38 +01:00
John McLear
90da21df35 tests: some scroll tests fixed 2020-03-24 23:24:38 +01:00
John McLear
fc1d1fca2b tests: fix redo 2020-03-24 23:24:38 +01:00
John McLear
675c839d92 tests: use helper for evttype to reduce duplicate code 2020-03-24 23:24:38 +01:00
John McLear
be9afc7955 tests: re-enable test for undo 2020-03-24 23:24:38 +01:00
John McLear
93ee98ea4b tests: remove white space from getSelection(). This HACK fixes Firefox tests
This is a bit of a hack, because it appears that getSelection() behaviour is
not consistent across browsers.
2020-03-24 23:24:38 +01:00
John McLear
d05e02a681 tests: increase helper timeout 2020-03-24 23:24:38 +01:00
John McLear
f7783e5f2a tests: Firefox suport for undo keypress 2020-03-24 23:24:38 +01:00
John McLear
d8c4dd7e77 tests: fix IE undo test 2020-03-24 23:24:38 +01:00
John McLear
58e1e2d16f tests: hopefully fixed all tests to be working in edge 2020-03-24 23:24:38 +01:00
muxator
04e9fc3a2f formatting: bulk remove trailing whitespaces on frontend tests
This is a followup on 312c72c364, which did the same on the main code base,
and is preliminary work for tidying up John's changes in the following commits.

No functional changes.

Command:
    find tests/frontend -name '*.js' -type f -print0 | xargs -0 sed --in-place 's/[[:space:]]*$//'
2020-03-24 23:24:38 +01:00
John McLear
88d05d3e66 tests: configure the OS/Browsers versions on which tests will be run
For all the supported operating systems, the latest version of each browser is
supported, with the Exception of Win 8 / IE 10, which has an explicit version
pinned.
2020-03-23 23:51:51 +01:00
John McLear
3085f46f32 tests: explicit tunnel version URI in sauce_tunnel.sh
For an explanation, see bf0bb58c70.
2020-03-23 23:51:51 +01:00
muxator
f6436be486 tests: quote bash variables in sauce_tunnel.sh 2020-03-23 23:51:51 +01:00
muxator
c382ba35c9 tests: backed out changeset 155a895604
This was a preparatory commit for 3292429ab3 (which introduced a bug, see
issue #3728) and modified the tests for issue #3620.

Commit 155a895604 per se did not introduce any bugs, but was difficult to
inspect because of its size. For this, the corresponding PR (#3622) should not
have been accepted.

--HG--
branch : revert-3622
2020-03-19 02:53:41 +01:00
Tom Briles
155a895604 Test for Issue-3620: space in the HTML for an unordered list creates an extra list item 2020-03-15 11:35:08 +00:00
Pierre Prinetti
92f07a544b ci: test basic application response of the docker build
Note by muxator:
This commit introduced a copied & modified version of the testing files
loadSettings.js and pad.js.

It's Christmas night, and we want to shipt this feature, so I merged it anyway,
adding a note in both the original and copied files so that hopefully someone
in the distant future is going to merge them back again.
2019-12-25 00:28:38 +01:00
muxator
bf0bb58c70 ci: no need to include java
The dependency on java was introduced in 2012 (c021cf52d8) to start
Sauce-Connect from sauce labs.

Probably at the time it was a runtime dependency, but it is no longer the case
today. It is possible that java was already not needed when db003a1460 changed
from downloading Sauce-Connect-latest.zip to sc-latest-linux.tar.gz.

Moreover, I am quite sure tests/frontend/travis/sauce_tunnel.sh no longer works
today, because tests/frontend/travis/sauce_tunnel.sh downloads from an url that
gives HTTP/404 now: sc-latest-linux.tar.gz if no longer a valid file name, we
would need to explicitly download a specific version.
2019-12-25 00:28:38 +01:00
muxator
fe0cf4bdb0 tests: reorganize some files, because we are going to copy & paste them.
In the following commits Pierre is going to copy & modify some files.
This commit prepares the source files in order to minimize those differences,
so we can re-unify them as soon as possible.

No functional changes.
2019-12-25 00:28:38 +01:00
muxator
312c72c364 formatting: bulk remove trailing whitespaces
Do not touch vendorized files (e.g. libraries that were imported from external
projects).

No functional changes.

Command:
    find . -name '*.<EXTENSION>' -type f -print0 | xargs -0 sed -i 's/[[:space:]]*$//'
2019-10-20 02:09:22 +02:00
Ray Bellis
fc661ee13a core: allow URL parameters and POST bodies to co-exist.
Node 8.14.0 prohibits HTTP headers that exceed 8 KB (source:
https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/#denial-of-service-with-large-http-headers-cve-2018-12121).

This patch allows for the parameters within the body of an HTTP POST request to
be used in addition to those within the URL (and will override them).

Closes #3568.

---
Muxator 2019-10-19:
- this commit was cherry-picked from 882b93487f
- it was modified to include the necessary changes in the documentation
2019-06-27 00:52:53 +02:00
muxator
705cc6f5e4 Change everywhere the link to https://etherpad.org (it was plain http) 2019-04-16 00:54:54 +02:00
Ray Bellis
4622309dc2 TidyHtml.js: convert to promises
test case uses "nodeify" to convert the calls to TidyHtml back
into nodeback because it integrates better with the test framework
2019-01-31 13:42:41 +00:00
muxator
b34fc2de2b use Date.now() instead of new Date().getTime()
This is documented to be more performant.

The substitution was made on frontend code, too (i.e., the one in /static),
because Date.now() is supported since IE 9, and we are life supporting only
IE 11.

Commands:
  find . -name *.js | xargs sed --in-place "s/new Date().getTime()/Date.now()/g"
  find . -name *.js | xargs sed --in-place "s/(new Date()).getTime()/Date.now()/g"

Not done on jQuery.
2019-02-26 23:25:15 +01:00
muxator
6d36bb2c53 node8: we can safely use os.tmpdir()
Since we are requiring node >= 8, we can safely use native functionalities.
2019-02-19 22:01:12 +01:00
Luiza Pagliari
8b7f7d49c0 tests: make sure author is switched on authorship test
Original implementation of authorship test assumed a simple pad reload
would switch the author -- and it actually did on Chrome. But other
browsers might keep the author id on cookie.

To force the author switch, expire the cookie before reloading the pad.

Fixes: #3435
2018-09-02 13:10:27 +02:00
muxator
b466acd881 Merge test fixes for import/export. Fixes #3425.
Now we have a working test for #3268 (fe08d2a1db).
2018-08-09 18:54:55 +02:00
ilmar
718b175524 tests: show that Etherpad is not able to import & export back a mixed lists
This commit replaces an old test with a new, different one.
Reasons for removing the old test:

- the old list test was introduced in cadb83a with an explicit attempt to import
  an invalid HTML and see if it could recover from it
- in 5967e08 the code base finally managed to export a meaningful HTML (but we
  do not know if other bugs were introduced in pursuing this)
- the old test seemed to aim at attaining resiliency, but correctness should be
  addressed before that

Modified by muxator. See discussion in:
https://github.com/ether/etherpad-lite/pull/3268#issuecomment-411185713
2018-08-06 23:15:48 +03:00
muxator
379690abbf tests: backend tests are now run with "npm test" instead of a custom bash script 2018-07-28 23:54:51 +02:00
muxator
cb8275fc4b docs: trivial corrections to test documentation 2018-07-28 23:54:51 +02:00
muxator
42e0646327 Merge Firefox frontend test fixes
The fix was done on another branch to show that it completely solves tests
failures introduced by 2be873e3c7.

All remaining failures in this branch are due to other changes made after
**1.6.6**, namely from fe08d2a1db included onwards.
2018-07-21 14:16:20 +02:00
muxator
4580537537 tests: fix frontend tests on firefox
These changes make the frontend tests send keydown instead of keypress in
firefox, in accordance with #3413 (Use keydown instead of keypress on Firefox).

The percentage of passing frontend in Firefox 61 on this revision is 100%.
2018-07-20 23:58:47 +02:00
Joas Souza
454f539561 Select formatting button on selection (#3301)
[feat] Select button when selection is on formatted text
2018-01-04 12:28:00 -02:00
Joas Souza
f1fcd16894 Add settings to scroll on edition out of viewport (#3282)
* Add scroll when it edits a line out of viewport

By default, when there is an edition of a line, which is out of the
viewport, Etherpad scrolls the minimum necessary to make this line
visible. This makes that the line stays either on the top or the bottom
of the viewport. With this commit, we add a setting to make possible to
scroll to a position x% pixels from the viewport. Besides of that, we
add a setting to make an animation of this scroll.
If nothing is changed on settings.json the Etherpad default behavior is
kept
2018-01-03 19:57:28 -02:00
Luiza Pagliari
b6cb46271b Merge pull request #3182 from storytouch/fix/do_not_hide_force_reconnect_modal
Improvements on modals and "force reconnect" messages
2017-05-29 11:05:37 -03:00
Luiza Pagliari
894ebffcaf [fix] Do not close ANY "force reconnect" message
Fix previous commit. As "force reconnect" buttons have all the same id
on DOM, on the previous commit we were only disallowing the first button
with that id on DOM -- "userdup" -- to be closed by a click on editor.
Casually the tests were using the same error to simulate a "force
reconnect", so even the tests were not getting the issue.
2017-05-12 07:03:40 -03:00
Luiza Pagliari
0cb8d31e95 [fix] Have one setting for each shortcut to create ordered list
This is an adjustment to #2891.
2017-05-11 14:56:09 -03:00
Luiza Pagliari
9176bf9bad [fix] Do not close "force reconnect" messages
If a "force reconnect" message is displayed to the user, it means the
only way to go back to a healthy state is to reload the pad. So we
cannot hide this kind of message, like what is done with other modals
(eg: "settings").
2017-05-04 14:34:01 -03:00
Luiza Pagliari
4eec3763b4 [fix] Close modals when user clicks both on pad inner and outer
Also: split tests for automatic reconnection and regular modal tests.
2017-05-04 11:22:18 -03:00
Luiza Pagliari
0bd4169663 [fix] Block user from changing pad after he/she is disconnected
Use same approach of when channel state is chaged to "DISCONNECTED".
2017-05-03 12:59:57 -03:00
Luiza Pagliari
8081164a72 Merge pull request #3161 from ether/feature/automatic_force_reconnect
Feature: automatic force reconnect
2017-04-18 10:21:19 -03:00
Luiza Pagliari
a85eb395b4 [fix] Fix path on test script 2017-04-06 03:12:45 -03:00
Luiza Pagliari
db003a1460 [fix] Use new SauceConnect provided by Sauce Labs
Could not dowload "Sauce-Connect-latest.zip" anymore, need to change to
new version of SauceConnect.
2017-04-06 03:05:38 -03:00
Luiza Pagliari
5e90700561 [test] Create tests for automatic reconnection on error 2017-04-04 13:07:40 -03:00
Luiza Pagliari
2b96a961e3 [fix] Remove extra whitespace on helper tests for IE 2017-02-20 06:14:27 -03:00
Luiza Pagliari
15cda0fde6 [refactor] Use better way to select a single line 2017-02-20 06:03:56 -03:00
Luiza Pagliari
92be656113 [test] Fix helper tests for IE 2017-02-20 06:02:31 -03:00
Luiza Pagliari
02bd4a31af [fix] Fix drag and drop tests for IE 2017-02-03 06:47:33 -02:00
muxator
f2b5f3bca2 tests: print expected & received output for 'getHTML'
This test was broken by #3268 (getLineHTMLForExport - Fixes #2486 but breaks
plugins). This change aims to facilitate debugging.

Expected:
<!doctype html><html><body><ul class="bullet"><li>one</li><li>2</li></ul><br><ul><ul class="bullet"><li>ul2</li></ul></ul></body></html>

Received:
<!doctype html><html><body><ul class="bullet"><li>one</li><li>2</ul><br><ul class="bullet"><li><ul class="bullet"><li>ul2</ul></li></ul></body></html>
2018-07-17 00:46:52 +02:00
Luiza Pagliari
58c3154769
[fix] Ignore default line attribs when detecting edges of changeset (#3420)
When comparing original content with the changes made by the user, we
need to ignore some line attribs that are added by content collector,
otherwise we would consider the change started on the first char of the
line -- the '*' that is added when line has line attribs.

In order to be able to handle both #3354 and #3118, we need to take into
account both the styles attribs (to fix #3354) and the line attribs
defined by any of the plugins (to fix #3118), but we can ignore those
extra line attribs that are added by Etherpad and do not add any
functionality (`'lmkr', 'insertorder', 'start'`).
2018-07-09 17:44:38 -03:00
Luiza Pagliari
7729e5a1a9
[fix:test] Use promise chain instead of chain (is deprecated) (#3419)
Fix warning when running tests: "chain api has been deprecated, use
promise chain instead."
2018-07-09 17:09:02 -03:00
Luiza Pagliari
ea562250d9 Perform drag and drop in one changeset, so UNDO works properly. Fix #3041 2016-08-22 18:44:17 -03:00
Luiza Pagliari
a2ee1d0b3f Merge pull request #3009 from storytouch/selectMultipleLinesOnFESpecs
Enable multi-line selection on frontend tests
2016-07-15 15:05:54 -03:00
John McLear
ab4f23aae5 Merge pull request #2970 from xavidotron/url
Remove [ and ] from the regexp used by the URL filter.
2016-06-28 07:28:18 +01:00
Xavid
28aa3b28d6 Add a frontend test for URLs followed by a ]. 2016-06-27 16:20:12 -04:00
Luiza Pagliari
3f15ff91eb Select beginning of end line when offset is 0 on frontend tests 2016-06-21 11:07:57 -03:00
Luiza Pagliari
95dc9d0315 Enable multi-line selection on frontend tests 2016-06-21 06:48:10 -03:00
Max Schaefer
b94fb2b54d Fix useless comparison in sussonsAndGroups test. 2016-05-05 11:50:39 +01:00
Stefan
103e07e828 Fix document.domain error in frontend tests 2016-03-29 16:16:22 +02:00
Stefan
d7c4cc8e65 Fix check in backend tests 2016-03-23 16:47:52 +01:00
Luiza Pagliari
ed39788d71 Fix flaky tests introduced by #2805 2015-10-24 11:10:17 -02:00
John McLear
50171a4c3c Merge pull request #2805 from storytouch/indentationSetting
Create setting to control if a new line will be indented or not
2015-10-22 16:12:07 +01:00
Ted Mielczarek
a675659dc2 Add an appendText API 2015-10-19 15:27:09 -04:00
Luiza Pagliari
5deb06d589 Create setting to control if a new line will be indented or not
Currently pressing ENTER on a line that ends with ':', '[', '(' or '{'
automaticaly indents the new line with 4 spaces. The variable added by
this commit to settings.json allow an Etherpad instance to not have this
behavior.
2015-10-13 18:39:23 -03:00
John McLear
b5686adf92 fix font test 2015-07-01 20:23:31 +01:00
Xavid
ad137fa4c8 Restore newline-adding to setText() if passed string does not end in '\n'.
Add a test for the ending-in-'\n' case and update tests for the other case.
2015-06-30 04:47:55 -04:00
John McLear
d803ac128e use settings for backend tests 2015-06-29 11:00:00 +01:00
John McLear
4252ef26f6 remove console logs 2015-06-29 10:23:30 +01:00
Simon Gaeremynck
fd9d0bc291 Added backend tests for TidyHtml 2015-05-18 17:44:11 +01:00
Xavid
9e86fb279b Fix backend tests with new setText() implementation; tests depended
on the old setText() behavior leaving the last character.
2015-05-06 08:45:22 -04:00
John McLear
0dfecb3af7 change target for IE 9 test 2015-04-12 14:05:49 +01:00
John McLear
4ef6604ca9 dont test against IE8 any more as we dont care about it 2015-04-12 13:16:32 +01:00
John McLear
07efa4246b comment out import tests as they fail in IE 2015-04-11 14:57:59 +01:00