From caa931dc4c63283f3d1be4b0f85d4055278c4080 Mon Sep 17 00:00:00 2001 From: Elliot Chance Date: Thu, 12 Mar 2015 16:59:19 +1100 Subject: [PATCH] testResourceRendering --- src/Concise/Services/ValueRenderer.php | 3 ++ tests/Concise/Services/SyntaxRendererTest.php | 36 ++++++++++++++++--- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/src/Concise/Services/ValueRenderer.php b/src/Concise/Services/ValueRenderer.php index 092c00b0..c821060f 100644 --- a/src/Concise/Services/ValueRenderer.php +++ b/src/Concise/Services/ValueRenderer.php @@ -52,6 +52,9 @@ public function colorize($value) if (is_float($value)) { return (string) $c($value)->{$this->theme['value.float']}; } + if (is_resource($value)) { + return (string) $c((string) $value)->{$this->theme['value.string']}; + } return $this->colorizeLines($value); } diff --git a/tests/Concise/Services/SyntaxRendererTest.php b/tests/Concise/Services/SyntaxRendererTest.php index 9994ef1d..fc6ff814 100644 --- a/tests/Concise/Services/SyntaxRendererTest.php +++ b/tests/Concise/Services/SyntaxRendererTest.php @@ -7,13 +7,28 @@ class SyntaxRendererTest extends TestCase { + /** + * @var SyntaxRenderer + */ + protected $renderer; + + public function setUp() + { + parent::setUp(); + $this->renderer = new SyntaxRenderer(); + } + public function testCanSubstituteValuesFromArrayIntoPlaceholders() { - $renderer = new SyntaxRenderer(); $data = array(1, '2', 3.1); $c = new Color(); - $expected = (string) $c('1')->red . ' is ' . (string) $c('"2"')->yellow . ' bla ' . (string) $c(3.1)->magenta; - $this->assert($expected, equals, $renderer->render('? is ? bla ?', $data)); + $expected = (string) $c('1')->red . ' is ' . (string) $c('"2"')->yellow + . ' bla ' . (string) $c(3.1)->magenta; + $this->assert( + $expected, + equals, + $this->renderer->render('? is ? bla ?', $data) + ); } /** @@ -22,7 +37,18 @@ public function testCanSubstituteValuesFromArrayIntoPlaceholders() */ public function testSyntaxMustBeAString() { - $renderer = new SyntaxRenderer(); - $renderer->render(123); + $this->renderer->render(123); + } + + /** + * @group #250 + */ + public function testResourceRendering() + { + $this->assert( + $this->renderer->render('?', array(fopen('.', 'r'))), + matches_regex, + '/Resource id #\\d+/' + ); } }