diff --git a/.scrutinizer.yml b/.scrutinizer.yml new file mode 100644 index 0000000..df21dd3 --- /dev/null +++ b/.scrutinizer.yml @@ -0,0 +1,23 @@ +checks: + php: + code_rating: true + duplication: true + +filter: + paths: + - src/* + +build: + dependencies: + before: + - composer require "henrikbjorn/phpspec-code-coverage" "~0.2" + environment: + php: + version: 5.6 + tests: + override: + - + command: 'bin/phpspec run -f progress -c phpspec-scrutinizer.yml' + coverage: + file: 'coverage.clover' + format: 'php-clover' diff --git a/.travis.yml b/.travis.yml index a25eeb1..49386c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,6 @@ php: matrix: allow_failures: - - php: 7.0 - php: hhvm before_install: @@ -18,12 +17,12 @@ before_install: - composer selfupdate install: - - COMPOSER_ROOT_VERSION=dev-master composer --prefer-source --no-interaction install + - composer --prefer-dist --no-interaction update script: - bin/phpspec run --format=pretty - bin/behat - + notifications: email: - liuggio@gmail.com diff --git a/README.md b/README.md index 9a57f24..d190eaa 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ according to [Shields specification](https://github.com/badges/shields#specifica This library is used by https://poser.pugx.org [![Latest Stable Version](https://poser.pugx.org/badges/poser/version.svg)](https://packagist.org/packages/badges/poser) [![Latest Unstable Version](https://poser.pugx.org/badges/poser/v/unstable.svg)](//packagist.org/packages/badges/poser) [![Total Downloads](https://poser.pugx.org/badges/poser/downloads.svg)](https://packagist.org/packages/badges/poser) - +[![Build Status](https://travis-ci.org/badges/poser.svg?branch=master)](https://travis-ci.org/badges/poser) ## Use as command diff --git a/composer.json b/composer.json index 043316a..1185b5e 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,9 @@ "psr-4": { "PUGX\\Poser\\": "src/" } }, "require": { - "symfony/console": "~2.0|~3.0" + "php": ">=5.3", + "symfony/console": "~2.0|~3.0", + "coduo/phpspec-data-provider-extension": "^1.0" }, "require-dev": { "phpspec/phpspec": "2.*", diff --git a/composer.lock b/composer.lock index a68c619..2cf7b5d 100644 --- a/composer.lock +++ b/composer.lock @@ -1,33 +1,606 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "f8400eae9ffc9327de6718202f9e4c2f", + "hash": "0e756d5476f6814705929ba90511db6c", + "content-hash": "5569745b95049a48a91a421c4cd4bcc1", "packages": [ { - "name": "symfony/console", - "version": "dev-master", - "target-dir": "Symfony/Component/Console", + "name": "coduo/phpspec-data-provider-extension", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/coduo/phpspec-data-provider-extension.git", + "reference": "b8d5c8594fec5ab2d7000bc31822a411bcd45146" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/coduo/phpspec-data-provider-extension/zipball/b8d5c8594fec5ab2d7000bc31822a411bcd45146", + "reference": "b8d5c8594fec5ab2d7000bc31822a411bcd45146", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "phpspec/phpspec": "^2" + }, + "require-dev": { + "behat/behat": "3.0.*", + "bossa/phpspec2-expect": "^1", + "symfony/console": "~2.3.2", + "symfony/filesystem": "~2.3", + "symfony/process": "~2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "Coduo\\PhpSpec": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Norbert Orzechowicz", + "email": "norbert@orzechowicz.pl" + }, + { + "name": "Michał Dąbrowski", + "email": "dabrowski@brillante.pl" + } + ], + "keywords": [ + "coduo", + "data", + "dataprovider", + "extension", + "phpspec", + "provider" + ], + "time": "2015-10-27 14:27:37" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14 21:17:01" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "phpDocumentor": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "time": "2015-02-03 12:10:50" + }, + { + "name": "phpspec/php-diff", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/php-diff.git", + "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/php-diff/zipball/30e103d19519fe678ae64a60d77884ef3d71b28a", + "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Diff": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Chris Boulton", + "homepage": "http://github.com/chrisboulton", + "role": "Original developer" + } + ], + "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).", + "time": "2013-11-01 13:02:21" + }, + { + "name": "phpspec/phpspec", + "version": "2.4.1", + "source": { + "type": "git", + "url": "https://github.com/phpspec/phpspec.git", + "reference": "5528ce1e93a1efa090c9404aba3395c329b4e6ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/phpspec/zipball/5528ce1e93a1efa090c9404aba3395c329b4e6ed", + "reference": "5528ce1e93a1efa090c9404aba3395c329b4e6ed", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.1", + "ext-tokenizer": "*", + "php": ">=5.3.3", + "phpspec/php-diff": "~1.0.0", + "phpspec/prophecy": "~1.4", + "sebastian/exporter": "~1.0", + "symfony/console": "~2.3|~3.0", + "symfony/event-dispatcher": "~2.1|~3.0", + "symfony/finder": "~2.1|~3.0", + "symfony/process": "^2.6|~3.0", + "symfony/yaml": "~2.1|~3.0" + }, + "require-dev": { + "behat/behat": "^3.0.11", + "bossa/phpspec2-expect": "~1.0", + "phpunit/phpunit": "~4.4", + "symfony/filesystem": "~2.1|~3.0" + }, + "suggest": { + "phpspec/nyan-formatters": "~1.0 – Adds Nyan formatters" + }, + "bin": [ + "bin/phpspec" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "PhpSpec": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "homepage": "http://marcelloduarte.net/" + } + ], + "description": "Specification-oriented BDD framework for PHP 5.3+", + "homepage": "http://phpspec.net/", + "keywords": [ + "BDD", + "SpecBDD", + "TDD", + "spec", + "specification", + "testing", + "tests" + ], + "time": "2016-01-01 10:17:54" + }, + { + "name": "phpspec/prophecy", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/3c91bdf81797d725b14cb62906f9a4ce44235972", + "reference": "3c91bdf81797d725b14cb62906f9a4ce44235972", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "~2.0", + "sebastian/comparator": "~1.1", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "phpspec/phpspec": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2016-02-15 07:46:21" + }, + { + "name": "sebastian/comparator", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", + "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2015-07-26 15:48:44" + }, + { + "name": "sebastian/diff", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2015-12-08 07:14:41" + }, + { + "name": "sebastian/exporter", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "7ae5513327cb536431847bcc0c10edba2701064e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", + "reference": "7ae5513327cb536431847bcc0c10edba2701064e", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2015-06-21 07:55:53" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "9a491e7983209bf320d40917291c03e856eee947" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/9a491e7983209bf320d40917291c03e856eee947", - "reference": "9a491e7983209bf320d40917291c03e856eee947", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", + "reference": "913401df809e99e4f47b27cdd781f4a258d58791", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2015-11-11 19:50:13" + }, + { + "name": "symfony/console", + "version": "v2.8.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "56cc5caf051189720b8de974e4746090aaa10d44" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/56cc5caf051189720b8de974e4746090aaa10d44", + "reference": "56cc5caf051189720b8de974e4746090aaa10d44", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, "require-dev": { "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/process": "~2.1" + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" }, "suggest": { "psr/log": "For using the console logger", @@ -37,14 +610,283 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2016-02-28 16:20:50" + }, + { + "name": "symfony/event-dispatcher", + "version": "v2.8.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "78c468665c9568c3faaa9c416a7134308f2d85c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/78c468665c9568c3faaa9c416a7134308f2d85c3", + "reference": "78c468665c9568c3faaa9c416a7134308f2d85c3", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.0,>=2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.6|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2016-01-27 05:14:19" + }, + { + "name": "symfony/finder", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "623bda0abd9aa29e529c8e9c08b3b84171914723" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/623bda0abd9aa29e529c8e9c08b3b84171914723", + "reference": "623bda0abd9aa29e529c8e9c08b3b84171914723", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2016-01-27 05:14:46" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "1289d16209491b584839022f29257ad859b8532d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/1289d16209491b584839022f29257ad859b8532d", + "reference": "1289d16209491b584839022f29257ad859b8532d", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-01-20 09:13:37" + }, + { + "name": "symfony/process", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "dfecef47506179db2501430e732adbf3793099c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/dfecef47506179db2501430e732adbf3793099c8", + "reference": "dfecef47506179db2501430e732adbf3793099c8", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2016-02-02 13:44:19" + }, + { + "name": "symfony/yaml", + "version": "v2.8.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "2a4ee40acb880c56f29fb1b8886e7ffe94f3b995" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/2a4ee40acb880c56f29fb1b8886e7ffe94f3b995", + "reference": "2a4ee40acb880c56f29fb1b8886e7ffe94f3b995", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" } }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -52,33 +894,31 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", - "homepage": "http://symfony.com", - "time": "2014-06-20 17:41:51" + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2016-02-23 07:41:20" } ], "packages-dev": [ { "name": "behat/behat", - "version": "dev-master", + "version": "v3.0.15", "source": { "type": "git", "url": "https://github.com/Behat/Behat.git", - "reference": "c0409b8a44dd363ea69a39428d131b1ae3581814" + "reference": "b35ae3d45332d80c532af69cc36f780a9397a996" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/c0409b8a44dd363ea69a39428d131b1ae3581814", - "reference": "c0409b8a44dd363ea69a39428d131b1ae3581814", + "url": "https://api.github.com/repos/Behat/Behat/zipball/b35ae3d45332d80c532af69cc36f780a9397a996", + "reference": "b35ae3d45332d80c532af69cc36f780a9397a996", "shasum": "" }, "require": { @@ -91,12 +931,12 @@ "symfony/console": "~2.1", "symfony/dependency-injection": "~2.1", "symfony/event-dispatcher": "~2.1", - "symfony/translation": "~2.1", + "symfony/translation": "~2.3", "symfony/yaml": "~2.1" }, "require-dev": { "phpspec/prophecy-phpunit": "~1.0", - "phpunit/phpunit": "~4.0.7", + "phpunit/phpunit": "~4.0", "symfony/process": "~2.1" }, "suggest": { @@ -146,20 +986,20 @@ "symfony", "testing" ], - "time": "2014-06-20 21:35:01" + "time": "2015-02-22 14:10:33" }, { "name": "behat/gherkin", - "version": "v4.3.0", + "version": "v4.4.1", "source": { "type": "git", "url": "https://github.com/Behat/Gherkin.git", - "reference": "43777c51058b77bcd84a8775b7a6ad05e986b5db" + "reference": "1576b485c0f92ef6d27da9c4bbfc57ee30cf6911" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/43777c51058b77bcd84a8775b7a6ad05e986b5db", - "reference": "43777c51058b77bcd84a8775b7a6ad05e986b5db", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/1576b485c0f92ef6d27da9c4bbfc57ee30cf6911", + "reference": "1576b485c0f92ef6d27da9c4bbfc57ee30cf6911", "shasum": "" }, "require": { @@ -175,7 +1015,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.4-dev" } }, "autoload": { @@ -204,20 +1044,20 @@ "gherkin", "parser" ], - "time": "2014-06-06 01:24:32" + "time": "2015-12-30 14:47:00" }, { "name": "behat/transliterator", - "version": "dev-master", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/Behat/Transliterator.git", - "reference": "c93521d3462a554332d1ef5bb0e9b5b8ca4106c4" + "reference": "868e05be3a9f25ba6424c2dd4849567f50715003" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Transliterator/zipball/c93521d3462a554332d1ef5bb0e9b5b8ca4106c4", - "reference": "c93521d3462a554332d1ef5bb0e9b5b8ca4106c4", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/868e05be3a9f25ba6424c2dd4849567f50715003", + "reference": "868e05be3a9f25ba6424c2dd4849567f50715003", "shasum": "" }, "require": { @@ -226,7 +1066,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.1-dev" } }, "autoload": { @@ -244,362 +1084,367 @@ "slug", "transliterator" ], - "time": "2014-05-15 22:08:22" + "time": "2015-09-28 16:26:35" }, { - "name": "phpdocumentor/reflection-docblock", - "version": "dev-master", + "name": "henrikbjorn/phpspec-code-coverage", + "version": "0.2.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "07b195e1eee19ee99cd9432983e1fb39adacdde1" + "url": "https://github.com/henrikbjorn/PhpSpecCodeCoverageExtension.git", + "reference": "987be21438b4e2905563d74634ee36cf73290f40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/07b195e1eee19ee99cd9432983e1fb39adacdde1", - "reference": "07b195e1eee19ee99cd9432983e1fb39adacdde1", + "url": "https://api.github.com/repos/henrikbjorn/PhpSpecCodeCoverageExtension/zipball/987be21438b4e2905563d74634ee36cf73290f40", + "reference": "987be21438b4e2905563d74634ee36cf73290f40", "shasum": "" }, "require": { - "php": ">=5.3.3" + "ext-xdebug": ">=2.1.4", + "php": ">=5.3.3", + "phpspec/phpspec": "~2.0", + "phpunit/php-code-coverage": "~2.0" }, "require-dev": { - "phpunit/phpunit": "3.7.*@stable" - }, - "suggest": { - "dflydev/markdown": "1.0.*", - "erusev/parsedown": "~0.7" + "bossa/phpspec2-expect": "~1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-0": { - "phpDocumentor": [ - "src/" - ] + "PhpSpec\\Extension\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2014-04-26 10:10:44" + "description": "Integrates CodeCoverage with PhpSpec", + "time": "2014-07-04 11:53:55" }, { - "name": "phpspec/php-diff", - "version": "v1.0.2", + "name": "phpunit/php-code-coverage", + "version": "2.2.4", "source": { "type": "git", - "url": "https://github.com/phpspec/php-diff.git", - "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/php-diff/zipball/30e103d19519fe678ae64a60d77884ef3d71b28a", - "reference": "30e103d19519fe678ae64a60d77884ef3d71b28a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", "shasum": "" }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "^1.3.2", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, "type": "library", - "autoload": { - "psr-0": { - "Diff": "lib/" + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], "authors": [ { - "name": "Chris Boulton", - "homepage": "http://github.com/chrisboulton", - "role": "Original developer" + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).", - "time": "2013-11-01 13:02:21" + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-10-06 15:47:00" }, { - "name": "phpspec/phpspec", - "version": "dev-master", + "name": "phpunit/php-file-iterator", + "version": "1.4.1", "source": { "type": "git", - "url": "https://github.com/phpspec/phpspec.git", - "reference": "a65fb9da78a988b5f26dce56ab58b5f44cc492de" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/phpspec/zipball/a65fb9da78a988b5f26dce56ab58b5f44cc492de", - "reference": "a65fb9da78a988b5f26dce56ab58b5f44cc492de", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", + "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpspec/php-diff": "~1.0.0", - "phpspec/prophecy": "~1.1", - "symfony/console": "~2.1", - "symfony/event-dispatcher": "~2.1", - "symfony/finder": "~2.1", - "symfony/yaml": "~2.1" - }, - "require-dev": { - "behat/behat": "~2.5", - "bossa/phpspec2-expect": "dev-master", - "symfony/filesystem": "~2.1" - }, - "suggest": { - "phpspec/nyan-formatters": "~1.0 – Adds Nyan formatters" + "php": ">=5.3.3" }, - "bin": [ - "bin/phpspec" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { - "psr-0": { - "PhpSpec": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "homepage": "http://marcelloduarte.net/" + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Specification-oriented BDD framework for PHP 5.3+", - "homepage": "http://phpspec.net/", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "BDD", - "SpecBDD", - "TDD", - "spec", - "specification", - "testing", - "tests" + "filesystem", + "iterator" ], - "time": "2014-06-26 14:25:58" + "time": "2015-06-21 13:08:43" }, { - "name": "phpspec/prophecy", - "version": "dev-master", + "name": "phpunit/php-text-template", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "c9a80f8c324df415fea36ab1148a44ed6b456210" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/c9a80f8c324df415fea36ab1148a44ed6b456210", - "reference": "c9a80f8c324df415fea36ab1148a44ed6b456210", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", "shasum": "" }, "require": { - "phpdocumentor/reflection-docblock": "~2.0" - }, - "require-dev": { - "phpspec/phpspec": "2.0.*" + "php": ">=5.3.3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "http://phpspec.org", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" + "template" ], - "time": "2014-06-14 19:28:44" + "time": "2015-06-21 13:50:34" }, { - "name": "symfony/class-loader", - "version": "dev-master", - "target-dir": "Symfony/Component/ClassLoader", + "name": "phpunit/php-token-stream", + "version": "1.4.8", "source": { "type": "git", - "url": "https://github.com/symfony/ClassLoader.git", - "reference": "9872f5b7a9547b3c4c7474cb4d5d4eb4cad3b4a5" + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/9872f5b7a9547b3c4c7474cb4d5d4eb4cad3b4a5", - "reference": "9872f5b7a9547b3c4c7474cb4d5d4eb4cad3b4a5", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", + "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", "shasum": "" }, "require": { + "ext-tokenizer": "*", "php": ">=5.3.3" }, "require-dev": { - "symfony/finder": "~2.0" + "phpunit/phpunit": "~4.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.4-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\ClassLoader\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony ClassLoader Component", - "homepage": "http://symfony.com", - "time": "2014-05-23 14:36:49" + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2015-09-15 10:49:45" }, { - "name": "symfony/config", - "version": "dev-master", - "target-dir": "Symfony/Component/Config", + "name": "sebastian/environment", + "version": "1.3.5", "source": { "type": "git", - "url": "https://github.com/symfony/Config.git", - "reference": "32018f35de323afd1bffb601f9e760ff3fb6ba05" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Config/zipball/32018f35de323afd1bffb601f9e760ff3fb6ba05", - "reference": "32018f35de323afd1bffb601f9e760ff3fb6ba05", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf", + "reference": "dc7a29032cf72b54f36dac15a1ca5b3a1b6029bf", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/filesystem": "~2.3" + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.3.x-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Config\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-02-26 18:40:46" + }, + { + "name": "sebastian/version", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Symfony Config Component", - "homepage": "http://symfony.com", - "time": "2014-05-23 14:36:49" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-06-21 13:59:46" }, { - "name": "symfony/dependency-injection", - "version": "dev-master", - "target-dir": "Symfony/Component/DependencyInjection", + "name": "symfony/class-loader", + "version": "v2.8.3", "source": { "type": "git", - "url": "https://github.com/symfony/DependencyInjection.git", - "reference": "4040578469625dc4d3c3c70f583bb995c764c434" + "url": "https://github.com/symfony/class-loader.git", + "reference": "517ab0554b6a5744d04480cb06873ffbd9442d73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/4040578469625dc4d3c3c70f583bb995c764c434", - "reference": "4040578469625dc4d3c3c70f583bb995c764c434", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/517ab0554b6a5744d04480cb06873ffbd9442d73", + "reference": "517ab0554b6a5744d04480cb06873ffbd9442d73", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9", + "symfony/polyfill-apcu": "~1.1" }, "require-dev": { - "symfony/config": "~2.2", - "symfony/expression-language": "~2.4", - "symfony/yaml": "~2.0" - }, - "suggest": { - "symfony/config": "", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "symfony/finder": "~2.0,>=2.0.5|~3.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\DependencyInjection\\": "" - } + "psr-4": { + "Symfony\\Component\\ClassLoader\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -608,57 +1453,51 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DependencyInjection Component", - "homepage": "http://symfony.com", - "time": "2014-05-23 14:36:49" + "description": "Symfony ClassLoader Component", + "homepage": "https://symfony.com", + "time": "2016-01-30 15:58:35" }, { - "name": "symfony/event-dispatcher", - "version": "dev-master", - "target-dir": "Symfony/Component/EventDispatcher", + "name": "symfony/config", + "version": "v2.8.3", "source": { "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "7a4f4b42886f8c2e35acb1071f157a0b8eb1bd39" + "url": "https://github.com/symfony/config.git", + "reference": "0f8f94e6a32b5c480024eed5fa5cbd2790d0ad19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/7a4f4b42886f8c2e35acb1071f157a0b8eb1bd39", - "reference": "7a4f4b42886f8c2e35acb1071f157a0b8eb1bd39", + "url": "https://api.github.com/repos/symfony/config/zipball/0f8f94e6a32b5c480024eed5fa5cbd2790d0ad19", + "reference": "0f8f94e6a32b5c480024eed5fa5cbd2790d0ad19", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0", - "symfony/dependency-injection": "~2.0", - "symfony/stopwatch": "~2.2" + "php": ">=5.3.9", + "symfony/filesystem": "~2.3|~3.0.0" }, "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/yaml": "To use the yaml reference dumper" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -667,47 +1506,60 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2014-05-23 14:36:49" + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2016-02-22 16:12:45" }, { - "name": "symfony/filesystem", - "version": "dev-master", - "target-dir": "Symfony/Component/Filesystem", + "name": "symfony/dependency-injection", + "version": "v2.8.3", "source": { "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "c5535943b0d48e5cc54f5bc8088bfc0aefda7f39" + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "62251761a7615435b22ccf562384c588b431be44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/c5535943b0d48e5cc54f5bc8088bfc0aefda7f39", - "reference": "c5535943b0d48e5cc54f5bc8088bfc0aefda7f39", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/62251761a7615435b22ccf562384c588b431be44", + "reference": "62251761a7615435b22ccf562384c588b431be44", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" + }, + "conflict": { + "symfony/expression-language": "<2.6" + }, + "require-dev": { + "symfony/config": "~2.2|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/yaml": "~2.1|~3.0.0" + }, + "suggest": { + "symfony/config": "", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Filesystem\\": "" - } + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -716,47 +1568,47 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Filesystem Component", - "homepage": "http://symfony.com", - "time": "2014-06-20 17:41:51" + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "time": "2016-02-28 16:34:46" }, { - "name": "symfony/finder", - "version": "dev-master", - "target-dir": "Symfony/Component/Finder", + "name": "symfony/filesystem", + "version": "v3.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "bed12a8b775813b252daf137b64f79113fbc5da5" + "url": "https://github.com/symfony/filesystem.git", + "reference": "23ae8f9648d0a7fe94a47c8e20e5bf37c489a451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/bed12a8b775813b252daf137b64f79113fbc5da5", - "reference": "bed12a8b775813b252daf137b64f79113fbc5da5", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/23ae8f9648d0a7fe94a47c8e20e5bf37c489a451", + "reference": "23ae8f9648d0a7fe94a47c8e20e5bf37c489a451", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "3.0-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Finder\\": "" - } + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -765,55 +1617,44 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", - "homepage": "http://symfony.com", - "time": "2014-05-23 14:36:49" + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2016-02-23 15:16:06" }, { - "name": "symfony/translation", - "version": "dev-master", - "target-dir": "Symfony/Component/Translation", + "name": "symfony/polyfill-apcu", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/Translation.git", - "reference": "648fe60e8921358aadb0d50b74339c52691a1763" + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "0c901e4e65a2f7ece68f0fd249b56d6ad3adc214" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/648fe60e8921358aadb0d50b74339c52691a1763", - "reference": "648fe60e8921358aadb0d50b74339c52691a1763", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/0c901e4e65a2f7ece68f0fd249b56d6ad3adc214", + "reference": "0c901e4e65a2f7ece68f0fd249b56d6ad3adc214", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "require-dev": { - "symfony/config": "~2.0", - "symfony/yaml": "~2.2" - }, - "suggest": { - "symfony/config": "", - "symfony/yaml": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.1-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Translation\\": "" - } + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -821,48 +1662,70 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", - "homepage": "http://symfony.com", - "time": "2014-06-17 05:29:56" + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2016-03-03 16:49:40" }, { - "name": "symfony/yaml", - "version": "dev-master", - "target-dir": "Symfony/Component/Yaml", + "name": "symfony/translation", + "version": "v2.8.3", "source": { "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "b01d366060f33e18fd98b0008c41a01b0d25c95c" + "url": "https://github.com/symfony/translation.git", + "reference": "b7b4ebadd2b5e614ff7d2d6fc63e0ed0578909c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/b01d366060f33e18fd98b0008c41a01b0d25c95c", - "reference": "b01d366060f33e18fd98b0008c41a01b0d25c95c", + "url": "https://api.github.com/repos/symfony/translation/zipball/b7b4ebadd2b5e614ff7d2d6fc63e0ed0578909c7", + "reference": "b7b4ebadd2b5e614ff7d2d6fc63e0ed0578909c7", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8", + "symfony/intl": "~2.4|~3.0.0", + "symfony/yaml": "~2.2|~3.0.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.8-dev" } }, "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" - } + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -871,33 +1734,25 @@ "authors": [ { "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" + "email": "fabien@symfony.com" }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com", - "time": "2014-06-04 06:43:44" + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2016-02-02 09:49:18" } ], - "aliases": [ - - ], - "minimum-stability": "dev", - "stability-flags": { - "symfony/console": 20, - "phpspec/phpspec": 20, - "behat/behat": 20 + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.3" }, - "platform": [ - - ], - "platform-dev": [ - - ] + "platform-dev": [] } diff --git a/phpspec-scrutinizer.yml b/phpspec-scrutinizer.yml new file mode 100644 index 0000000..2cb903a --- /dev/null +++ b/phpspec-scrutinizer.yml @@ -0,0 +1,8 @@ +extensions: + - Coduo\PhpSpec\DataProvider\DataProviderExtension + - PhpSpec\Extension\CodeCoverageExtension +code_coverage: + format: + - clover + output: + clover: coverage.clover diff --git a/phpspec.yml b/phpspec.yml new file mode 100644 index 0000000..45b448b --- /dev/null +++ b/phpspec.yml @@ -0,0 +1,2 @@ +extensions: + - Coduo\PhpSpec\DataProvider\DataProviderExtension diff --git a/spec/PUGX/Poser/BadgeSpec.php b/spec/PUGX/Poser/BadgeSpec.php index 67895fd..df8bdde 100644 --- a/spec/PUGX/Poser/BadgeSpec.php +++ b/spec/PUGX/Poser/BadgeSpec.php @@ -5,20 +5,21 @@ use PhpSpec\Exception\Exception; use PhpSpec\ObjectBehavior; use Prophecy\Argument; +use PUGX\Poser\Badge; class BadgeSpec extends ObjectBehavior { function it_is_initializable() { - $this->beConstructedWith('a','b','97CA00', 'svg'); + $this->beConstructedWith('a', 'b', '97CA00', 'svg'); $this->shouldHaveType('Pugx\Poser\Badge'); } function it_should_be_constructed_by_fromURI_factory_method() { - $this->beConstructedWith('a','b','97CA00', 'svg'); + $this->beConstructedWith('a', 'b', '97CA00', 'svg'); $assert = 'version-stable-97CA00.svg'; - $it = \PUGX\Poser\Badge::fromURI($assert); + $it = Badge::fromURI($assert); if ((string) $it !== $assert) { throw new Exception(sprintf("from[%s] having[%s]\n", $assert, (string) $it)); @@ -27,10 +28,10 @@ function it_should_be_constructed_by_fromURI_factory_method() function it_should_be_constructed_by_fromURI_factory_method_escaping_correctly_underscores() { - $this->beConstructedWith('a','b','97CA00', 'svg'); + $this->beConstructedWith('a', 'b', '97CA00', 'svg'); $input = 'I__m__liugg__io-b-97CA00.svg'; $assertInput = 'I_m_liugg_io-b-97CA00.svg'; - $it = \PUGX\Poser\Badge::fromURI($input); + $it = Badge::fromURI($input); if ((string) $it !== $assertInput) { throw new Exception(sprintf("from[%s] wants[%s] having[%s]\n", $input, $assertInput, (string) $it)); @@ -39,10 +40,10 @@ function it_should_be_constructed_by_fromURI_factory_method_escaping_correctly_u function it_should_be_constructed_by_fromURI_factory_method_escaping_correctly_with_single_underscore() { - $this->beConstructedWith('a','b','97CA00', 'svg'); + $this->beConstructedWith('a', 'b', '97CA00', 'svg'); $input = 'I_m_liuggio-b-97CA00.svg'; $assertInput = 'I m liuggio-b-97CA00.svg'; - $it = \PUGX\Poser\Badge::fromURI($input); + $it = Badge::fromURI($input); if ((string) $it !== $assertInput) { throw new Exception(sprintf("from[%s] wants[%s] having[%s]\n", $input, $assertInput, (string) $it)); @@ -51,23 +52,34 @@ function it_should_be_constructed_by_fromURI_factory_method_escaping_correctly_w function it_should_be_constructed_by_fromURI_factory_method_escaping_correctly_with_dashes() { - $this->beConstructedWith('a','b','97CA00', 'svg'); + $this->beConstructedWith('a', 'b', '97CA00', 'svg'); $input = 'I--m--liuggio-b-97CA00.svg'; $assertInput = 'I-m-liuggio-b-97CA00.svg'; - $it = \PUGX\Poser\Badge::fromURI($input); + $it = Badge::fromURI($input); if ((string) $it !== $assertInput) { throw new Exception(sprintf("from[%s] wants[%s] having[%s]\n", $input, $assertInput, (string) $it)); } } - function it_should_validate_available_color_schemes() + /** + * @dataProvider positiveConversionExamples + */ + function it_should_validate_available_color_schemes($colorName, $expectedValue) { - $colorSchemes = \PUGX\Poser\Badge::getColorNamesAvailable(); + $this->beConstructedWith('a', 'b', $colorName, 'svg'); + $this->getHexColor()->shouldBeString(); + } + + public function positiveConversionExamples() + { + $colorNames = Badge::getColorNamesAvailable(); - foreach ($colorSchemes as $colorScheme) { - $this->beConstructedWith('a', 'b', $colorScheme, 'svg'); - $this->getHexColor()->shouldBeString(); + $data = array(); + foreach ($colorNames as $colorName) { + $data[] = array($colorName, null); } + + return $data; } } diff --git a/src/Calculator/GDTextSizeCalculator.php b/src/Calculator/GDTextSizeCalculator.php index 84adb47..1feba3e 100644 --- a/src/Calculator/GDTextSizeCalculator.php +++ b/src/Calculator/GDTextSizeCalculator.php @@ -14,6 +14,9 @@ class GDTextSizeCalculator implements TextSizeCalculatorInterface { const TEXT_FONT = '/Font/DejaVuSans.ttf'; + /** @var string */ + protected $fontPath; + public function __construct() { $this->fontPath = __DIR__ . self::TEXT_FONT; diff --git a/src/Poser.php b/src/Poser.php index ed1ec5e..1889f02 100644 --- a/src/Poser.php +++ b/src/Poser.php @@ -73,6 +73,11 @@ private function addFormatRender(RenderInterface $render) } } + /** + * @param $format + * + * @return RenderInterface + */ private function getRenderFor($format) { if (!isset($this->renders[$format])) { diff --git a/src/UI/Command.php b/src/UI/Command.php index ee1705b..d03fe4c 100644 --- a/src/UI/Command.php +++ b/src/UI/Command.php @@ -24,8 +24,15 @@ class Command extends BaseCommand http://poser.pug.org "; + /** @var Poser */ private $poser; + /** @var string */ + protected $format; + + /** @var string */ + protected $header; + private function init() { $this->poser = new Poser(array( @@ -88,9 +95,9 @@ protected function execute(InputInterface $input, OutputInterface $output) $imageContent = $this->poser->generate($subject, $status, $color, $this->format); if ($input->getOption('path')) { - $this->storeImage($input, $output, $input->getOption('path'), $imageContent); + $this->storeImage($output, $input->getOption('path'), $imageContent); } else { - $this->flushImage($input, $output, $imageContent); + $this->flushImage($output, $imageContent); } } catch (\Exception $e) { @@ -99,13 +106,13 @@ protected function execute(InputInterface $input, OutputInterface $output) } } - protected function flushImage(InputInterface $input, OutputInterface $output, $imageContent) + protected function flushImage(OutputInterface $output, $imageContent) { $output->write((string) $imageContent); $this->header = ''; } - protected function storeImage(InputInterface $input, OutputInterface $output, $path, $imageContent) + protected function storeImage(OutputInterface $output, $path, $imageContent) { $this->printHeaderOnce($output); try { @@ -134,5 +141,4 @@ protected function printHeaderOnce(OutputInterface $output) $this->header = ''; } - }