Aleksander Machniak
344260db89
Bump laravel/dusk version
2025-03-16 13:46:29 +01:00
PhilW
e4d952f814
wait for list to load in Browser\Contacts\ExportTest::testExportSelected test
2025-01-03 14:55:33 +00:00
Pablo Zmdl
818df3b13f
Fix downloading files in tests with new Chromiums ( #9627 )
...
* Fix downloading files in tests with new Chromiums
Newer versions of chromium apparently need these flags to download files
without prompting the user.
* Expose port to watch remote browser
This allows to watch the remote controlled browser in your browser at
<http://localhost:7900/?autoconnect=1&resize=scale&password=secret >
(you have to comment out the `--headless` argument in TestCase::driver()
before).
2024-09-05 14:32:09 +02:00
Pablo Zmdl
85094706f9
Docker compose for testing ( #9525 )
...
* More ignore-patterns in eslint config
So we don't have to specify them on the command line when we check
codestyle locally.
* Test setup for local and CI using containers
It uses standalone containers for the greenmail IMAP server and the
standalone browser.
A testrunner image is built in the CI (for `linux/amd64` only, because
Github doesn't support multi-platform building on their default
runners and we don't have our own.)
This setup helps to run the tests (reproduceably) also locally.
Previously, on my machine, they produced varying results.
It also reduces the dependencies for running the browser test.
Local execution only depends on `docker compose`, no other tools
(previously it required `sudo`, `java`, and some more.)
The previous solution should still work, if you want it.
The scripts are stored in a directory called `.ci` to hide them a little
and avoid confusion with the container images from the
`roundcubemail-docker` repo.
* Fix UI tests by waiting for element before using it
This only was a flaky problem only occurring sometimes.
* Force a new IMAP connection in plugin tests, too
In other code the initial connection is forced. Doing this here, too,
fixes occasional problems with lost imap connections.
* Make waiting for zipfile's content more robust
* CI: Run tests from script on Windows, too
* CI: Do start local chrome if no connect URL is given
* Move compose.yml to tests/
This way it's less easy mistaken as usable for running Roundcubemail in
production.
* Move compose.yml to .ci/
2024-07-22 11:44:09 +02:00
Michael Voříšek
6377477eb2
Add PHPUnit 10.x and 11.x support ( #9480 )
...
* Add PHPUnit 10.x and 11.x support
* fix undefined TestCase::getName() for PHPUnit 10+
* Add PHPUnit attributes but keep annotations
2024-06-13 18:40:29 +02:00
Michael Voříšek
f4272804d6
Rename test files for PHPUnit 10+ ( #9477 )
2024-06-05 07:46:51 +02:00
Michael Voříšek
6a5f9ee7ce
Add override method attributes ( #9272 )
2024-06-02 15:57:56 +02:00
Michael Voříšek
4611b55072
Add phpunit slow detector ( #9320 )
2024-04-10 12:29:58 +02:00
Michael Voříšek
52d8172b0f
Allow composer autoloading (to coexist) ( #9407 )
...
* Replace custom loader in favor of composer native
* Load plugins using composer
* finish debug_logger plugin
* finish markasjunk plugin
* finish password plugin
* finish enigma plugin
* finish managesieve plugin
* fix ExtensionInstaller run on first install
* fix phpstan "Implicit array creation" in plugin config files
* simplify composer.json
* keep non-composer autoloading relying on include_path set in plugins
* update minimal "roundcube/plugin-installer" version
* "plugins.roundcube.net" root-only package repo is not needed
* REVERT ALL
* fix phpstan "Implicit array creation" in plugin config files
* update minimal "roundcube/plugin-installer" version
* reland composer.json changes
* fix ExtensionInstaller run on first install
* Roundcube (non plugin) tests are fine to rely on composer autoload
* fix CS of master
* not needed until strict composer autoloading
* improve comment
* revert rcmail_oauth change - fixed in plugin installer
* require fixed plugin installer
2024-04-10 12:27:43 +02:00
Michael Voříšek
736795326c
Fix plugins composer.json format ( #9405 )
...
* Check plugins composer.json using CI
* Add "require-dev" and "config.allow-plugins" to plugins
* fix composer.json format - rm invalid email
* fix composer.json format - fix ext require
* fix composer.json format - fix plugin name
* tmp
* Revert "tmp"
* fix ext in ext install
* disable plugin in plugin install until Roundcube is fully autoloadable
* fix composer.json format - fix non-canonical license name
* Revert "Add "require-dev" and "config.allow-plugins" to plugins"
* no composer install for plugins needed
* Revert "fix ext in ext install"
* add standard "Test" suffix to phpunit files
* rm unneeded "suffix" in phpunit config
* simplify phpunit config
* fix default "xhtml" doctype in unit testing
* fix test_format_date test to not rely on other tests
* even more phpunit config simplify
* stricter/unify phpunit params for E2E tests
* run E2E tests on maximal php version too with lowest deps
* "repositories" in bundled plugins are useless as for root package only
* add/unify missing plugin test
2024-04-05 17:55:46 +02:00
Aleksander Machniak
58d28297a3
Code improvements, PHPDoc fixes
2024-03-29 16:18:20 +01:00
Aleksander Machniak
3b159a1c25
Code improvements in the spellchecker classes
2024-03-17 10:19:25 +01:00
Michael Voříšek
d18406a8bd
Fix binary operator spaces CS ( #9330 )
...
* align_single_space_minimal for assign
* assign operators grouping is not supported by PHP CS Fixer
* binary_operator_spaces = single_space
* fix anonymous function on single line
* align comments manually
2024-02-02 07:53:34 +01:00
Aleksander Machniak
343561b597
Fix regression in the browser tests
2024-01-27 16:12:14 +01:00
Aleksander Machniak
c63ec982b2
Fix PHPStan errors in tests/Browser/
2024-01-27 15:34:36 +01:00
Michael Voříšek
4ee79b9e84
fix "explicit_string_variable" ( #9315 )
2024-01-22 08:05:59 +01:00
Michael Voříšek
54f4aa33f9
Fix CS - imports ( #9316 )
...
* fix Tests\Browser\TestCase imports
* fix remaining imports
* fix PHPUnit\Framework\TestCase imports
* import GuzzleHttp\Client
* fix remaining
* "php_unit_method_casing" is not todo
* fix "single_line_comment_spacing"
* fix 2nd commit done using older fixer
2024-01-21 19:13:31 +01:00
Michael Voříšek
b1a0067e5d
Fix more CS ( #9303 )
...
* fix "class_attributes_separation"
* fix "ternary_to_null_coalescing"
* fix "no_extra_blank_lines"
* fix "php_unit_data_provider_name" - use snake_case
* fix remaining "function data_" manually
* move "php_unit_test_case_static_method_calls" to a better place in cnf
* fix 3.47.1 CS
2024-01-20 08:22:32 +01:00
Michael Voříšek
a797873ef5
Fix "phpdoc_no_empty_return" CS ( #9302 )
...
* replace void with never return type
* replace "return void" phpdoc with native type in tests
* replace "return void" phpdoc with native type in rcube_addressbook
* replace "return void" phpdoc with native type in rcmail_oauth
* fix remaining
2024-01-05 19:03:58 +01:00
Michael Voříšek
6a53a1d853
Fix CS (whitespace, visibility) ( #9297 )
...
* Fix "method_argument_space"
* Fix "control_structure_continuation_position"
* Fix "new_with_parentheses"
* Fix "blank_line_before_statement"
* Fix "visibility_required"
* Fix some "array_indentation"
* Fix some "array_indentation" - unify all "rcube::raise_error" calls
* rm useless eslint ignores and add rules counts
* sort eslint ignores
* fix eslint ignores grammar
* Revert "Fix "blank_line_before_statement""
* fix CS 3.46.0
2024-01-04 14:26:35 +01:00
Michael Voříšek
2643be3eaa
Fix single quotes CS ( #9283 )
...
* Fix "single_quote"
* fix "escape_implicit_backslashes"
* fix typo from f363481c
* fix single quotes in JS
* fix some minor JS CS
* fix CS v3.45.0
2023-12-31 16:36:55 +01:00
Edouard Vanbelle
0e4c35797d
core: correct coding style warning ( #9284 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-26 09:04:54 +01:00
Michael Voříšek
3e458fa5fd
Refer native constants unambiguously ( #9275 )
...
* Fix "native_constant_invocation" CS
* "self_accessor" was fixed in 9269 PR
* "php_unit_strict" was fixed in 9268 PR
2023-12-23 17:02:19 +01:00
Michael Voříšek
a9167a0d2f
Fix "static_lambda" CS ( #9276 )
2023-12-20 20:01:00 +01:00
Michael Voříšek
28c778b7a0
Modernize more CS III ( #9270 )
...
* fix "single_trait_insert_per_statement"
* fix "empty_loop_condition"
* fix "backtick_to_shell_exec"
* fix "phpdoc_to_comment"
* fix "no_empty_statement"
* fix "heredoc_to_nowdoc"
* fix "class_reference_name_casing"
* fix "align_multiline_comment"
* fix "heredoc_indentation"
* fix "constant_case"
* fix "single_line_comment_style"
* fix "no_null_property_initialization"
* fix "standardize_increment"
* fix "no_unneeded_control_parentheses"
* fix missing NL after "<?php"
* fix php in *.sh files too
* fix trailing spaces from all text files
* fix "explicit_indirect_variable"
* Revert "fix "align_multiline_comment""
This reverts commit 42e584f8e3 .
* fix "align_multiline_comment" properly
* Revert "fix trailing spaces from all text files" - diff files only
* Revert "Revert "fix trailing spaces from all text files" - diff files only"
This reverts commit 2101c2a3a3 .
* rm useless "setup-php" config
2023-12-18 07:46:51 +01:00
Michael Voříšek
8c82b29baf
Assert expected data types in tests ( #9268 )
...
* fix test skips for local testing
* fix Actions_Mail_Search tests when run /w non-UTC default TZ
* improve tests before PHP CS Fixer is run
* fix "php_unit_strict"
2023-12-17 15:03:08 +01:00
Michael Voříšek
e7d7e62146
Modernize more basic CS II ( #9254 )
...
* fix "integer_literal_case"
* fix "phpdoc_separation"
* fix "phpdoc_var_without_name"
* fix "operator_linebreak"
* fix "no_alias_language_construct_call"
* fix "list_syntax"
* fix "concat_space"
* fix "array_syntax"
* fix "binary_operator_spaces"
* fix "binary_operator_spaces" relaxed
* fix "phpdoc_types_order"
* fix "phpdoc_trim"
* fix "native_type_declaration_casing"
* fix "method_chaining_indentation"
* fix "phpdoc_no_package"
* fix "elseif"
* fix PHP CS Fixer config itself too
* fix "native_type_declaration_casing"
2023-12-17 13:14:45 +01:00
Michael Voříšek
ca8b17d191
Modernize more basic CS ( #9258 )
...
* fix "yoda_style"
* fix "is_null"
* rm useless rule ignores
* add full "PhpCsFixer:risky" ruleset
* fix "implode_call"
* fix "no_alias_functions"
* fix "array_push"
* fix "long_to_shorthand_operator"
* fix "ternary_to_elvis_operator"
* fix "logical_operators"
* fix "fopen_flags"
* rename "returns" phpdoc tags to "return"
* fix "php_unit_construct"
* fix "function_to_constant"
* fix "php_unit_data_provider_return_type"
* fix "php_unit_set_up_tear_down_visibility"
* some safe "string_length_to_empty"
* fix "phpdoc_align"
* fix "phpdoc_no_alias_tag"
* fix "trailing_comma_in_multiline"
---------
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-17 09:51:11 +01:00
Michael Voříšek
a8707ae220
Fix and assert basic CS using CI ( #9246 )
...
* Assert CS using CI
* fix "single_blank_line_at_eof"
* fix "statement_indentation"
* fix "switch_case_semicolon_to_colon"
* fix "control_structure_braces"
* fix "statement_indentation"
* fix "no_whitespace_in_blank_line"
* fix "no_trailing_whitespace_in_comment"
* fix "no_trailing_whitespace"
* fix "single_space_around_construct"
* fix "spaces_inside_parentheses"
* fix "ternary_operator_spaces"
* fix "trim_array_spaces"
* fix "whitespace_after_comma_in_array"
* fix "cast_spaces"
* fix "unary_operator_spaces"
* fix "no_trailing_comma_in_singleline"
* fix "ordered_imports"
* fix "no_unused_imports"
* Check composer.json format
* fix CI job name
* file header comments are not phpdoc
* fix "phpdoc_indent"
* fix "braces_position"
* fix "phpdoc_types"
* fix "no_blank_lines_after_class_opening"
* fix "no_multiple_statements_per_line"
* fix "multiline_comment_opening_closing"
* fix "single_line_empty_body"
* fix "non_printable_character"
* fix "phpdoc_trim_consecutive_blank_line_separation"
* fix "include"
* fix "no_mixed_echo_print"
---------
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-16 15:37:43 +01:00
Michael Voříšek
5425d1a84a
Fix invalid phpdocs ( #9252 )
...
* fix missing return type in phpdoc
* fix "phpdoc_scalar"
* Fix phpdoc variable names typos
* fix wrong phpdoc tags
2023-12-10 16:20:50 +01:00
Aleksander Machniak
965fd90284
Browser Tests: The last attempt on mobile menu issues
...
If this does not work I give up. Tests work on my computer, but not on GA,
and I don't know really why.
2023-11-26 18:29:26 +01:00
Aleksander Machniak
1266e4782b
Browser Tests: Another attempt on flaky mobile menus
2023-11-26 17:16:34 +01:00
Aleksander Machniak
53374f61d2
Browser Tests: Flaky mobile menus, another attempt
2023-11-26 16:06:47 +01:00
Aleksander Machniak
afdfdf6a83
Browser Tests: Another attempt on fixing flaky menus on mobile
2023-11-26 15:59:37 +01:00
Aleksander Machniak
da6300dcc7
Browser Tests: Less flaky menus handling on mobile
2023-11-26 15:46:43 +01:00
Aleksander Machniak
623d74b07c
Browser tests: Fix Settings\ResponsesTest::testResponsesInComposer test on a phone
2023-10-21 21:41:12 +02:00
Aleksander Machniak
d29236e175
Browser tests: Fix "stale element reference" errors
2023-10-21 21:30:00 +02:00
Aleksander Machniak
9e8e9a5ec0
Tests: Fix compatibility with Dusk 7.9
2023-07-30 10:34:04 +02:00
Aleksander Machniak
971f940300
Browser Tests: Set some more Chrome options
...
An attempt to fix failing downloads tests on Github Actions
2023-03-04 18:24:49 +01:00
Aleksander Machniak
644750bfbb
Browser Tests: Increase timeout for downloaded file existence check
2023-02-26 12:09:39 +01:00
Aleksander Machniak
656baebc67
Browser Tests: Update Dusk and Greenmail
2023-02-26 11:02:53 +01:00
Aleksander Machniak
acc6b72f12
Use smaller interval
2022-07-10 09:25:31 +02:00
Aleksander Machniak
8bf7f64c4f
Browser tests: Increase pause in mobile toolbar menu testing
2022-07-09 19:00:21 +02:00
Aleksander Machniak
8fdb7e8c55
Try to fix browser tests
2022-07-09 18:54:35 +02:00
Aleksander Machniak
1f20e7575b
Fix browser test regression
2022-04-10 11:13:40 +02:00
Aleksander Machniak
fd39eecb48
Fix browser tests regression
2021-12-07 15:22:20 +01:00
Aleksander Machniak
893216cb29
Unified and simplified services connection options ( #8310 )
2021-12-07 15:07:54 +01:00
Aleksander Machniak
8ca3c11f09
Fix browser tests after Larry removal
2021-11-27 14:28:58 +01:00
Aleksander Machniak
50a3a6fd81
Fix database initialization for the browser tests
2021-10-03 17:01:32 +02:00
Aleksander Machniak
2668965e67
Fix browser test regarding spellcheck settings
2021-08-29 18:16:38 +02:00