codecounter/versionmatcher

1.0 2018-12-07 08:07 UTC

This package is auto-updated.

Last update: 2024-09-10 21:38:36 UTC


README

Build Status

使用逻辑操作比较版本。实际上,这是一个用于测试CI/CD的项目。

安装

  1. 使用composer
{
    ...
    "require": {
        "codecounter/versionmatcher": "0.1.0"
    }
}
  1. 不使用composer
require "/path/to/VersionMatcher/autoload.php"

用法

  1. 比较两个版本字符串
// produce `false`
\CodeCounter\VersionMatcher::test('ver >= 1.2.0', array(
    'ver' => '1.1.0'
));
  1. 使用逻辑比较
// produce `true`
\CodeCounter\VersionMatcher::test('ver >= 1.2.0 && ver < 1.6.0', array(
    'ver' => '1.3.0'
));
  1. 持久化对象
$matcher = new \CodeCounter\VersionMatcher(array(
    'android' => '1.3.0',
    'ios' => ''
));
// produce `true`
$matcher->match('ios >= 1.4.0 || android >= 1.3.0');
// produce `false`
$matcher->match('ios >= 1.4.0 || android < 1.2.0');

对于详细用法,请查看tests目录。

开发

  • 克隆仓库
  • cd dev
  • cp docker-compose.example.yml docker-compose.yml,如有必要进行修改
  • docker-compose up -d
  • docker-compose exec php bash,通过SSH连接到容器
  • cd /var/www

然后,您可以使用phpunit运行单元测试,或者使用phpcs运行代码规范检查。

phpunit之后运行php tests/coverage-check.php,此脚本可以在覆盖率小于90%时通过stdout退出1,用于CI通知。

许可证

此库遵循MIT许可证。