Commit Graph

60 Commits

Author SHA1 Message Date
Steve Grunwell 16b59b60a0 Merge branch 'master' into feature/post-system-status-tool-hook 2018-01-24 01:45:44 +00:00
Mike Jolley 1c92b970a9 Use only review count
Closes #18558
2018-01-23 11:03:30 +00:00
Steve Grunwell 2ffb8c8481 Exclude tests/e2e-tests/ from the PEAR.Functions.FunctionCallSignature.EmptyLine sniff, or risk a ton of 'Empty lines are not allowed in multi-line function calls' errors. 2018-01-22 03:42:05 +00:00
Steve Grunwell 3f7034602f Don't enforce filename or inline commenting standards against the tests/ directory 2018-01-22 03:23:48 +00:00
Steve Grunwell 8c3fd0c75f Don't flag instances of print_r() within the tests/ directory.
In some cases, calls like `print_r( $data, true )` (return the printed array as a string) can be helpful for providing context if/when a test fails.
2018-01-17 22:10:56 +00:00
Steve Grunwell b7825faa39 Don't hold the test suite to the same naming conventions as WordPress/WooCommerce. 2018-01-17 21:50:18 +00:00
Steve Grunwell 4cded5e9aa Exclude the /tests/ directory from PHP Compatibility checks
The composer.json file in WooCommerce specifies PHPUnit version 6.2.3 as a development dependency; that version of PHPUnit sets PHP 7.0 as the minimum PHP version, effectively making the minimum development version for WooCommerce to be PHP 7.0 (hooray!).

With a more modern version of PHP as the minimum requirement for developers, the code that isn't distributed with the plugin (e.g. the /tests/ directory) doesn't necessarily need to adhere to PHP 5.2-compatible coding standards. This commit removes the /tests/ directory from the scope of the PHP Compatibility checks, enabling the test suite to leverage modern (relative to PHP 5.2, anyway) features like closures, short-array syntax, and namespaces. Embracing more modern PHP in the test suite also opens up the possibilities of using libraries like Faker to populate dummy data, rather than the hard-coded helpers that exist now.

An example test enabled by this change: developers can now use closures for filter callbacks.

    add_filter( 'some_filter', function () {
        return 'the filtered value';
    }

    $this->assertEquals( 'the filtered value', my_function() );

Without a closure, this test would need to either write a one-off method in the test class or hack around it with static properties to configure the expected filter response.
2018-01-11 23:17:22 +00:00
Claudio Sanches 5b15dbe8fe Ignore "namespace" used in REST API 2018-01-11 13:11:24 -02:00
Claudio Sanches 61b5c7a445 Added WooCommerce-Core sniffs 2017-12-21 21:29:49 -02:00
Rodrigo Primo bf052c14c7 Use default name for PHPCS configuration file
This commit renames PHPCS configutarion file to `phpcs.xml`. With the default name, it is not necessary to use the argument `--standard=phpcs.ruleset.xml` anymore when calling `phpcs`.
2017-12-18 11:49:44 -02:00