Commit Graph

60 Commits

Author SHA1 Message Date
Aleksander Machniak
94fd5a0f80 CS fixes (for the new fixer version rules) 2025-02-23 11:51:27 +01:00
Aleksander Machniak
20f3988a79 Fix infinite loop when parsing malformed Sieve script (#9562) 2024-07-31 18:11:31 +02:00
Aleksander Machniak
b14a278c9f CS fix 2024-07-18 20:04:45 +02:00
Aleksander Machniak
cc72002e71 Fix invalid line break characters in multi-line text in Sieve scripts (#9543) 2024-07-18 19:46:25 +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
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
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
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
Aleksander Machniak
d976801918 Fix phpstan errors regarding a mocked storage use 2024-01-27 12:08:26 +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
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
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
0ab210ac1b Fix Sieve scripts comment parse with CRLF (#9249) 2023-12-10 15:43:24 +01:00
Aleksander Machniak
25c2c99173 Revert "Managesieve plugin: sieverules compatibility (#8571)"
This reverts commit 974e98baac.
2023-01-21 11:27:31 +01:00
marczi
974e98baac Managesieve plugin: sieverules compatibility (#8571)
Added compatibility with sieverules plugin: import disabled rules stored in sieverules format
2022-08-15 09:46:28 +02:00
Aleksander Machniak
89e54718ca Migration to PHPUnit v9 2021-07-25 11:07:56 +02:00
Aleksander Machniak
6ffa85b8cc Managesieve: Fix removing nested rules in scripts (#8011) 2021-04-18 10:39:48 +02:00
Aleksander Machniak
7c53300990 PHP8 fixes, CS fixes, short array syntax, tests 2020-12-08 21:56:41 +01:00
Aleksander Machniak
eb7636d491 Fixes in context of undefined variables, and code style 2020-08-16 10:29:42 +02:00
Aleksander Machniak
409bce5485 Make spamtest UI more user-friendly 2020-07-19 08:22:55 +02:00
Aleksander Machniak
e256eee457 Merge branch 'sieve-spamtest' of https://github.com/bubble75/roundcubemail into bubble75-sieve-spamtest 2020-07-18 14:43:08 +02:00
Aleksander Machniak
47d9ed6d0c Add support for PHPUnit 6 and 7 (#6870)
Fixes composer dependencies: Package phpunit/phpunit-mock-objects is abandoned

We cannot support v8 yet because of errors like:
Declaration of MailFunc::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void
It would require dropping PHP < 7.1 support.
2019-12-28 09:37:45 +01:00
Vladislav Bogdanov
e15bf62ec5 managesieve: Add support for 'spamtest' extension 2019-10-22 19:46:48 +00:00
Aleksander Machniak
cc1a1d95fe Correct property name 2019-10-16 12:40:41 +02:00
Aleksander Machniak
425724bb35 Fix testing rcube_sieve_vacation protected methods 2019-10-13 14:26:27 +02:00
Aleksander Machniak
ccb70116f1 Managesieve: Use RFC-compliant line endings, CRLF instead of LF (#6686) 2019-04-21 08:28:13 +02:00
Aleksander Machniak
53017eb87d Managesieve: Added support for 'editheader' extension - RFC5293 (#5954) 2018-09-08 16:40:41 +02:00
Aleksander Machniak
7abaab3098 Fix bug where text: syntax was forced for strings longer than 1024 characters (#6143) 2018-01-24 14:50:29 +01:00
Aleksander Machniak
8b61d6a2d1 Fix parsing dot-staffed lines in multiline text (#5838) 2017-07-03 12:33:30 +02:00
Aleksander Machniak
4f48202f90 Add test for #5657 2017-05-19 11:39:34 +02:00
Aleksander Machniak
13b98199ed Managesieve: Fix parser issue with empty lines between comments (#5657) 2017-02-20 16:15:22 +01:00
Aleksander Machniak
2eede31561 Fix handling of scripts with nested rules (#5540) 2016-11-30 09:56:50 +01:00
Aleksander Machniak
f9fc7e1edf Managesieve: Improvements in 'string' test support 2016-07-19 11:26:27 +02:00
Aleksander Machniak
e499a14e13 - Support 'duplicate' extension [RFC 7352]
- Improve errors handling in filter form
2016-04-28 12:28:20 +02:00
Aleksander Machniak
0ea079d604 dirname(__FILE__) -> __DIR__ 2014-10-13 14:41:55 +02:00
Aleksander Machniak
f72815e1f9 Code improvements + added tests for vacation date regexps handling 2014-07-16 20:48:59 +02:00
Aleksander Machniak
f22de58087 Fixed notify/enotify extension handling 2014-04-24 10:42:56 +02:00
Aleksander Machniak
439fd773e3 Fix typo in last commit and some managesieve tests (where we changed
:comparator position)
2013-09-20 12:17:30 +02:00
Aleksander Machniak
b2c5869fe2 Skip optional :all modified in address/envelope rule 2013-08-02 09:22:31 +02:00
Aleksander Machniak
ed837a3544 Added support for date and index extensions (RFC5260) in script parser
Script parser code improvements
2013-05-12 14:11:59 +02:00
Aleksander Machniak
b6fa7d54b8 Add vacation-seconds extension support (RFC 6131) 2013-03-16 16:29:17 +01:00
Aleksander Machniak
b005927f91 Add basic tests for plugins 2013-01-19 12:16:16 +01:00
Aleksander Machniak
0d4ccb8d88 Moved rcube_* classes to <plugin>/lib/Roundcube for compat. with Roundcube Framework autoloader 2012-11-25 16:25:17 +01:00
Aleksander Machniak
74e6cf2f58 Re-add enotify tests 2012-09-20 16:00:37 +02:00