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
Aleksander Machniak
247b5c37d1
Update localizations
2024-07-02 19:07:54 +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
1e360999b2
Use composer autoloader for bundled plugins testing ( #9412 )
...
* use fixed "roundcube/plugin-installer"
* Use composer autoloader for plugins testing
* cherrypick remaining from 9241 related with testing
* minor legacy autoload improvements
2024-04-11 18:28:46 +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
b5a3fd646b
Fix "Implicit array creation" in plugin config files ( #9406 )
...
* fix phpstan "Implicit array creation" in plugin config files
* update minimal "roundcube/plugin-installer" version
2024-04-07 12:00:03 +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
7b127faec5
Code improvements
2024-03-17 12:05:14 +01:00
Michael Voříšek
332c165d28
Fix some basic JS CS ( #9328 )
...
* fix "nonblock-statement-body-position" (fixed already)
* fix "comma-dangle"
* fix "no-regex-spaces"
* fix "new-parens"
* fix "object-curly-newline"
* fix "object-property-newline"
* fix "spaced-comment" semimanually
* fix "no-constant-condition" manually
* fix "unicorn/no-hex-escape"
* fix "unicorn/escape-case"
* fix "quote-props"
* fix "no-whitespace-before-property" - fix bug/typo
* fix "unicorn/empty-brace-spaces"
* fix "keyword-spacing"
* fix "dot-notation"
* fix "no-return-assign" manually
* fix "padding-line-between-statements"
* fix "key-spacing"
* fix "no-else-return" semimanually
* fix some "no-undef"
* fix case cs
* Revert "fix "padding-line-between-statements""
* improve switch/case format I.
* improve switch/case format II.
regex: (^ *(break|return).*)\n *(\n)
* fix safe "eqeqeq"
* fix "radix"
* fix v3.49.0 CS (static providers)
* fix "string_implicit_backslashes" in php files
* fix comments align
* fix test static providers
* fix stan
* disable "final_internal_class" rule
2024-02-06 08:28:19 +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
Michael Voříšek
ecd2796622
Fix JS whitespace CS ( #9327 )
...
* fix "no-extra-semi"
* fix "object-curly-spacing"
* fix "block-spacing"
* fix "padded-blocks"
* fix "space-before-blocks"
* fix "space-before-function-paren"
* fix "operator-linebreak"
* fix "space-unary-ops"
* fix "space-infix-ops"
* fix most "brace-style"
* fix "curly"
* fix most "brace-style" II
* fix "no-multi-spaces"
* search regex: (?<=\n)( +)(?! ).*\n(?!\1)( +)(&&|\|\||\()
* search regex: (?<=\n)( +)(?! |\*/).*(?<!;)\n(?!\1)( +)(?! |\}|\]|\)|\.)
* fix mostly "brace-style" /w allowSingleLine: false
* fix cs
* search regex: (//|/\*).*\n\s+\{
2024-01-30 07:50:02 +01:00
Aleksander Machniak
a73a53c8ef
Replace deprecated methods use
2024-01-27 09:58:01 +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
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
86eda9f7ed
Fix "increment_style" CS ( #9296 )
...
* Fix "increment_style" CS
* use "post" increment style
2024-01-01 12:23:21 +01:00
Michael Voříšek
740267fac0
Lint JS files using eslint and normalize JS indentation ( #9280 )
...
* Lint JS using eslint
* Fix "comma-spacing"
* Fix "semi"
* Fix indent to unified 4 spaces as for PHP
* ignore symlinked public_html/* files
2023-12-23 17:08:32 +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
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
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
2d5f7aa9f5
Update localization
2023-04-09 18:30:38 +02:00
Asterios "Aster" Bandis
9c2b459b8c
Update Greek localization (from Transifex) ( #8937 )
...
* Pull new Greek translations from Transifex
* Pull new Greek translations from Transifex
Replace the "Greeklish" folder name with Greek characters
2023-03-04 09:26:25 +01:00
Aleksander Machniak
863e5f848f
Add Uyghur localization, update localization
2023-02-04 09:48:49 +01:00
Aleksander Machniak
2d87443efc
Update localization
2022-07-10 09:22:10 +02:00
Aleksander Machniak
2e5a12b0ff
Update localization
2022-04-25 08:00:50 +02:00
Aleksander Machniak
e1a9004966
Update localization
2022-01-22 09:23:29 +01:00
Aleksander Machniak
b6e0d6263c
Moved the Larry skin to its own repository ( #8271 )
2021-11-27 14:08:47 +01:00
Aleksander Machniak
27f5fccaa7
Moved the Classic skin to its own repository ( #8271 )
...
https://github.com/roundcube/classic
2021-11-14 10:17:23 +01:00
Aleksander Machniak
92880251f4
Update localization
2021-10-29 10:20:14 +02:00
Aleksander Machniak
7a269a2b84
Replace get_input_value() with get_input_string() where appropriate
2021-09-13 19:31:49 +02:00
Aleksander Machniak
89e54718ca
Migration to PHPUnit v9
2021-07-25 11:07:56 +02:00
Aleksander Machniak
9e2bc40213
Dropped support for PHP < 7.3 ( #7976 )
2021-07-25 09:16:33 +02:00
Aleksander Machniak
5ae7e22002
Update localization
2021-07-25 09:01:51 +02:00
Aleksander Machniak
fca2a8b826
Update localization
2021-06-06 09:21:55 +02:00
Aleksander Machniak
ae19d16a80
Update localization
2021-05-10 19:08:05 +02:00
Aleksander Machniak
ac8e067ae6
Use official GPL-3.0-or-later license identifier ( #7901 )
2021-02-24 15:39:36 +01:00
Aleksander Machniak
cdd65d91c0
Update localization
2021-02-09 09:47:15 +01:00
Aleksander Machniak
13e1455cd2
Bump PHP version requirement also for plugins
...
[skip ci]
2021-02-07 10:02:11 +01:00
Aleksander Machniak
e3416c9fc0
PHP8 fixes, CS fixes, short array syntax, tests
2020-12-06 11:43:56 +01:00
Aleksander Machniak
545a1569f1
Steps -> Actions refactoring ( #7688 )
...
* Move action handling code to rcmail class
* Add rcmail_action class
* Add action aliases
* Get rid of $OUTPUT global
* Move some methods from rcmail to rcmail_action
* PHP8 compat. fixes
* Add framework for testing actions
* Fix obvious code mistakes
2020-11-01 11:25:38 +01:00
Aleksander Machniak
eb7636d491
Fixes in context of undefined variables, and code style
2020-08-16 10:29:42 +02:00
Aleksander Machniak
36bf280a97
Elastic: Minimize forms/colors blink on page load
2020-07-11 10:52:24 +02:00
Aleksander Machniak
f0ec65ee70
Fix labels again
2020-03-17 07:46:46 +01:00
Aleksander Machniak
c26ba1ee5d
Improve some labels
2020-03-16 20:36:42 +01:00
Aleksander Machniak
623a642457
Update changelog, fix some localization labels
2020-03-15 09:47:39 +01:00