From d6aba4b5cf987730fbb0d4520958c465e414d226 Mon Sep 17 00:00:00 2001 From: jean-marie leroux Date: Mon, 14 Mar 2016 02:04:04 +0100 Subject: [PATCH 1/6] Fix colorScheme Color scheme must be 6 characters to pass the validation at line 143 : https://github.com/badges/poser/blob/master/src/Badge.php#L146 --- src/Badge.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Badge.php b/src/Badge.php index 8c502bd..c14845b 100644 --- a/src/Badge.php +++ b/src/Badge.php @@ -6,14 +6,14 @@ class Badge { CONST DEFAULT_FORMAT = 'svg'; private static $colorScheme = array( - "brightgreen" => "4c1", + "brightgreen" => "44cc11", "green" => "97CA00", "yellow" => "dfb317", "yellowgreen" => "a4a61d", "orange" => "fe7d37", "red" => "e05d44", "blue" => "007ec6", - "grey" => "555", + "grey" => "555555", "lightgray" => "9f9f9f" ); From 6b4d1c1a6c661d379c526f8fcc1ff4374340e242 Mon Sep 17 00:00:00 2001 From: Jean-Marie Leroux Date: Mon, 14 Mar 2016 10:23:38 +0100 Subject: [PATCH 2/6] Add spec for color schemes --- spec/PUGX/Poser/BadgeSpec.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spec/PUGX/Poser/BadgeSpec.php b/spec/PUGX/Poser/BadgeSpec.php index 8a48662..67895fd 100644 --- a/spec/PUGX/Poser/BadgeSpec.php +++ b/spec/PUGX/Poser/BadgeSpec.php @@ -60,4 +60,14 @@ function it_should_be_constructed_by_fromURI_factory_method_escaping_correctly_w throw new Exception(sprintf("from[%s] wants[%s] having[%s]\n", $input, $assertInput, (string) $it)); } } + + function it_should_validate_available_color_schemes() + { + $colorSchemes = \PUGX\Poser\Badge::getColorNamesAvailable(); + + foreach ($colorSchemes as $colorScheme) { + $this->beConstructedWith('a', 'b', $colorScheme, 'svg'); + $this->getHexColor()->shouldBeString(); + } + } } From c877f0bbb435c9eed03a38ed6ef1ee054271ea18 Mon Sep 17 00:00:00 2001 From: Jean-Marie Leroux Date: Mon, 14 Mar 2016 10:25:59 +0100 Subject: [PATCH 3/6] Add PHP 5.6 and 7 to Travis matrix --- .travis.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ff331d4..6d06450 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,14 +4,19 @@ php: - 5.3 - 5.4 - 5.5 + - 5.6 + - 7.0 - hhvm matrix: allow_failures: + - php: 7.0 - php: hhvm before_script: - - COMPOSER_ROOT_VERSION=dev-master composer --prefer-source --dev --no-interaction install + - phpenv config-rm xdebug.ini + - composer selfupdate + - COMPOSER_ROOT_VERSION=dev-master composer --prefer-source --no-interaction install script: - bin/phpspec run --format=pretty From a28f2a21f542990108ce4ecd0c95aea83e28ef67 Mon Sep 17 00:00:00 2001 From: Jean-Marie Leroux Date: Mon, 14 Mar 2016 13:01:39 +0100 Subject: [PATCH 4/6] Tune travis build: xdebug, composer selfupdate --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6d06450..a25eeb1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,9 +13,11 @@ matrix: - php: 7.0 - php: hhvm -before_script: - - phpenv config-rm xdebug.ini +before_install: + - if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then phpenv config-rm xdebug.ini; fi - composer selfupdate + +install: - COMPOSER_ROOT_VERSION=dev-master composer --prefer-source --no-interaction install script: From 60a309eec4011e1b0ddc154c08948e65788e1df9 Mon Sep 17 00:00:00 2001 From: Jean-Marie Leroux Date: Mon, 14 Mar 2016 13:11:39 +0100 Subject: [PATCH 5/6] Fix specs --- spec/PUGX/Poser/PoserSpec.php | 4 +--- spec/PUGX/Poser/Render/SvgFlatRenderSpec.php | 4 +--- spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php | 7 ++----- spec/PUGX/Poser/Render/SvgRenderSpec.php | 3 +-- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/spec/PUGX/Poser/PoserSpec.php b/spec/PUGX/Poser/PoserSpec.php index cd00d9f..a91bb3f 100644 --- a/spec/PUGX/Poser/PoserSpec.php +++ b/spec/PUGX/Poser/PoserSpec.php @@ -40,9 +40,7 @@ function it_should_be_able_to_generate_an_svg_image_from_URI() public function getMatchers() { return array( - 'beAValidSVGImageContaining' => function($object, $subject, $status) - { - + 'beAValidSVGImageContaining' => function($object, $subject, $status) { $regex = '/^$/'; $matches = array(); diff --git a/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php b/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php index 181c4bb..2b37382 100644 --- a/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php +++ b/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php @@ -2,11 +2,9 @@ namespace spec\PUGX\Poser\Render; -use PhpSpec\Exception\Exception; use PhpSpec\ObjectBehavior; use Prophecy\Argument; use PUGX\Poser\Badge; -use PUGX\Poser\Calculator\GDTextSizeCalculator; use PUGX\Poser\Calculator\TextSizeCalculatorInterface; class SvgFlatRenderSpec extends ObjectBehavior @@ -66,4 +64,4 @@ function it_should_render_a_license_mit_exactly_like_this_svg() } -} \ No newline at end of file +} diff --git a/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php b/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php index d16b007..c4bf07f 100644 --- a/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php +++ b/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php @@ -2,11 +2,9 @@ namespace spec\PUGX\Poser\Render; -use PhpSpec\Exception\Exception; use PhpSpec\ObjectBehavior; use Prophecy\Argument; use PUGX\Poser\Badge; -use PUGX\Poser\Calculator\GDTextSizeCalculator; use PUGX\Poser\Calculator\TextSizeCalculatorInterface; class SvgFlatSquareRenderSpec extends ObjectBehavior @@ -14,7 +12,8 @@ class SvgFlatSquareRenderSpec extends ObjectBehavior function let(TextSizeCalculatorInterface $calculator) { $calculator->calculateWidth(Argument::any())->willReturn(20); - $this->beConstructedWith($calculator); + $realCalculator = $calculator->getWrappedObject(); + $this->beConstructedWith($realCalculator); } function it_should_render_a_svg() @@ -64,6 +63,4 @@ function it_should_render_a_license_mit_exactly_like_this_svg() $badge = Badge::fromURI('license-MIT-blue.svg'); $this->render($badge)->__toString()->shouldBeLike($template); } - - } diff --git a/spec/PUGX/Poser/Render/SvgRenderSpec.php b/spec/PUGX/Poser/Render/SvgRenderSpec.php index d813024..6029883 100644 --- a/spec/PUGX/Poser/Render/SvgRenderSpec.php +++ b/spec/PUGX/Poser/Render/SvgRenderSpec.php @@ -2,7 +2,6 @@ namespace spec\PUGX\Poser\Render; -use PhpSpec\Exception\Exception; use PhpSpec\ObjectBehavior; use Prophecy\Argument; use PUGX\Poser\Badge; @@ -34,4 +33,4 @@ public function getMatchers() } ); } -} \ No newline at end of file +} From c4a5057ad114e47ea62d6dbcc639f80f53a3ec8e Mon Sep 17 00:00:00 2001 From: Jean-Marie Leroux Date: Mon, 14 Mar 2016 15:28:58 +0100 Subject: [PATCH 6/6] Fix specs for PHP7 --- spec/PUGX/Poser/Render/SvgFlatRenderSpec.php | 3 ++- spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php | 7 +++---- spec/PUGX/Poser/Render/SvgRenderSpec.php | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php b/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php index 2b37382..3f79d2e 100644 --- a/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php +++ b/spec/PUGX/Poser/Render/SvgFlatRenderSpec.php @@ -9,8 +9,9 @@ class SvgFlatRenderSpec extends ObjectBehavior { - function let(TextSizeCalculatorInterface $calculator) + function let($calculator) { + $calculator->beADoubleOf('\PUGX\Poser\Calculator\TextSizeCalculatorInterface'); $calculator->calculateWidth(Argument::any())->willReturn(20); $this->beConstructedWith($calculator); } diff --git a/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php b/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php index c4bf07f..6abc733 100644 --- a/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php +++ b/spec/PUGX/Poser/Render/SvgFlatSquareRenderSpec.php @@ -5,15 +5,14 @@ use PhpSpec\ObjectBehavior; use Prophecy\Argument; use PUGX\Poser\Badge; -use PUGX\Poser\Calculator\TextSizeCalculatorInterface; class SvgFlatSquareRenderSpec extends ObjectBehavior { - function let(TextSizeCalculatorInterface $calculator) + function let($calculator) { + $calculator->beADoubleOf('\PUGX\Poser\Calculator\TextSizeCalculatorInterface'); $calculator->calculateWidth(Argument::any())->willReturn(20); - $realCalculator = $calculator->getWrappedObject(); - $this->beConstructedWith($realCalculator); + $this->beConstructedWith($calculator); } function it_should_render_a_svg() diff --git a/spec/PUGX/Poser/Render/SvgRenderSpec.php b/spec/PUGX/Poser/Render/SvgRenderSpec.php index 6029883..2793036 100644 --- a/spec/PUGX/Poser/Render/SvgRenderSpec.php +++ b/spec/PUGX/Poser/Render/SvgRenderSpec.php @@ -5,12 +5,12 @@ use PhpSpec\ObjectBehavior; use Prophecy\Argument; use PUGX\Poser\Badge; -use PUGX\Poser\Calculator\TextSizeCalculatorInterface; class SvgRenderSpec extends ObjectBehavior { - function let(TextSizeCalculatorInterface $calculator) + function let($calculator) { + $calculator->beADoubleOf('\PUGX\Poser\Calculator\TextSizeCalculatorInterface'); $calculator->calculateWidth(Argument::any())->willReturn(20); $this->beConstructedWith($calculator); }