X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=vendor%2Fsymfony%2Fvar-dumper%2FTests%2FCaster%2FExceptionCasterTest.php;h=4f9b538a0a0ed1057e3e4c6cb2050e19c04cdf0c;hb=4e1bfbf98b844da83b18aca92ef00f11a4735806;hp=1614f58a9ae9bce0fa2d53a10ecabdd20507281c;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website
diff --git a/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php
index 1614f58a9..4f9b538a0 100644
--- a/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php
+++ b/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php
@@ -11,29 +11,172 @@
namespace Symfony\Component\VarDumper\Tests\Caster;
+use PHPUnit\Framework\TestCase;
+use Symfony\Component\VarDumper\Caster\Caster;
+use Symfony\Component\VarDumper\Caster\ExceptionCaster;
use Symfony\Component\VarDumper\Caster\FrameStub;
-use Symfony\Component\VarDumper\Test\VarDumperTestCase;
+use Symfony\Component\VarDumper\Cloner\VarCloner;
+use Symfony\Component\VarDumper\Dumper\HtmlDumper;
+use Symfony\Component\VarDumper\Test\VarDumperTestTrait;
-class ExceptionCasterTest extends VarDumperTestCase
+class ExceptionCasterTest extends TestCase
{
+ use VarDumperTestTrait;
+
+ private function getTestException($msg, &$ref = null)
+ {
+ return new \Exception(''.$msg);
+ }
+
+ protected function tearDown()
+ {
+ ExceptionCaster::$srcContext = 1;
+ ExceptionCaster::$traceArgs = true;
+ }
+
+ public function testDefaultSettings()
+ {
+ $ref = array('foo');
+ $e = $this->getTestException('foo', $ref);
+
+ $expectedDump = <<<'EODUMP'
+Exception {
+ #message: "foo"
+ #code: 0
+ #file: "%sExceptionCasterTest.php"
+ #line: 28
+ trace: {
+ %s%eTests%eCaster%eExceptionCasterTest.php:28 {
+ ⺠{
+ ⺠return new \Exception(''.$msg);
+ ⺠}
+ }
+ %s%eTests%eCaster%eExceptionCasterTest.php:40 { â¦}
+ Symfony\Component\VarDumper\Tests\Caster\ExceptionCasterTest->testDefaultSettings() {}
+%A
+EODUMP;
+
+ $this->assertDumpMatchesFormat($expectedDump, $e);
+ $this->assertSame(array('foo'), $ref);
+ }
+
+ public function testSeek()
+ {
+ $e = $this->getTestException(2);
+
+ $expectedDump = <<<'EODUMP'
+{
+ %s%eTests%eCaster%eExceptionCasterTest.php:28 {
+ ⺠{
+ ⺠return new \Exception(''.$msg);
+ ⺠}
+ }
+ %s%eTests%eCaster%eExceptionCasterTest.php:65 { â¦}
+ Symfony\Component\VarDumper\Tests\Caster\ExceptionCasterTest->testSeek() {}
+%A
+EODUMP;
+
+ $this->assertStringMatchesFormat($expectedDump, $this->getDump($e, 'trace'));
+ }
+
+ public function testNoArgs()
+ {
+ $e = $this->getTestException(1);
+ ExceptionCaster::$traceArgs = false;
+
+ $expectedDump = <<<'EODUMP'
+Exception {
+ #message: "1"
+ #code: 0
+ #file: "%sExceptionCasterTest.php"
+ #line: 28
+ trace: {
+ %sExceptionCasterTest.php:28 {
+ ⺠{
+ ⺠return new \Exception(''.$msg);
+ ⺠}
+ }
+ %s%eTests%eCaster%eExceptionCasterTest.php:84 { â¦}
+ Symfony\Component\VarDumper\Tests\Caster\ExceptionCasterTest->testNoArgs() {}
+%A
+EODUMP;
+
+ $this->assertDumpMatchesFormat($expectedDump, $e);
+ }
+
+ public function testNoSrcContext()
+ {
+ $e = $this->getTestException(1);
+ ExceptionCaster::$srcContext = -1;
+
+ $expectedDump = <<<'EODUMP'
+Exception {
+ #message: "1"
+ #code: 0
+ #file: "%sExceptionCasterTest.php"
+ #line: 28
+ trace: {
+ %s%eTests%eCaster%eExceptionCasterTest.php:28
+ %s%eTests%eCaster%eExceptionCasterTest.php:%d
+%A
+EODUMP;
+
+ $this->assertDumpMatchesFormat($expectedDump, $e);
+ }
+
+ public function testHtmlDump()
+ {
+ if (ini_get('xdebug.file_link_format') || get_cfg_var('xdebug.file_link_format')) {
+ $this->markTestSkipped('A custom file_link_format is defined.');
+ }
+
+ $e = $this->getTestException(1);
+ ExceptionCaster::$srcContext = -1;
+
+ $cloner = new VarCloner();
+ $cloner->setMaxItems(1);
+ $dumper = new HtmlDumper();
+ $dumper->setDumpHeader('');
+ $dumper->setDumpBoundaries('', '');
+ $dump = $dumper->dump($cloner->cloneVar($e)->withRefHandles(false), true);
+
+ $expectedDump = <<<'EODUMP'
+Exception {
+ #message: "1"
+ #code: 0
+ #file: "%s%eVarDumper%eTests%eCaster%eExceptionCasterTest.php"
+ #line: 28
+ trace: {
+ %s%eVarDumper%eTests%eCaster%eExceptionCasterTest.php:28
+ …%d
+ }
+}
+
+EODUMP;
+
+ $this->assertStringMatchesFormat($expectedDump, $dump);
+ }
+
/**
- * @requires function Twig_Template::getSourceContext
+ * @requires function Twig\Template::getSourceContext
*/
public function testFrameWithTwig()
{
- require_once dirname(__DIR__).'/Fixtures/Twig.php';
+ require_once \dirname(__DIR__).'/Fixtures/Twig.php';
$f = array(
new FrameStub(array(
- 'file' => dirname(__DIR__).'/Fixtures/Twig.php',
- 'line' => 21,
+ 'file' => \dirname(__DIR__).'/Fixtures/Twig.php',
+ 'line' => 20,
'class' => '__TwigTemplate_VarDumperFixture_u75a09',
)),
new FrameStub(array(
- 'file' => dirname(__DIR__).'/Fixtures/Twig.php',
+ 'file' => \dirname(__DIR__).'/Fixtures/Twig.php',
'line' => 21,
'class' => '__TwigTemplate_VarDumperFixture_u75a09',
- 'object' => new \__TwigTemplate_VarDumperFixture_u75a09(null, false),
+ 'object' => new \__TwigTemplate_VarDumperFixture_u75a09(null, __FILE__),
)),
);
@@ -42,16 +185,11 @@ array:2 [
0 => {
class: "__TwigTemplate_VarDumperFixture_u75a09"
src: {
- %sTwig.php:21: """
- // line 2\n
- throw new \Exception('Foobar');\n
- }\n
- """
- bar.twig:2: """
- foo bar\n
- twig source\n
- \n
- """
+ %sTwig.php:1 {
+ âº
+ ⺠foo bar
+ ⺠twig source
+ }
}
}
1 => {
@@ -60,16 +198,11 @@ array:2 [
%A
}
src: {
- %sTwig.php:21: """
- // line 2\n
- throw new \Exception('Foobar');\n
- }\n
- """
- foo.twig:2: """
- foo bar\n
- twig source\n
- \n
- """
+ %sExceptionCasterTest.php:2 {
+ ⺠foo bar
+ ⺠twig source
+ âº
+ }
}
}
]
@@ -78,4 +211,20 @@ EODUMP;
$this->assertDumpMatchesFormat($expectedDump, $f);
}
+
+ public function testExcludeVerbosity()
+ {
+ $e = $this->getTestException('foo');
+
+ $expectedDump = <<<'EODUMP'
+Exception {
+ #message: "foo"
+ #code: 0
+ #file: "%sExceptionCasterTest.php"
+ #line: 28
+}
+EODUMP;
+
+ $this->assertDumpMatchesFormat($expectedDump, $e, Caster::EXCLUDE_VERBOSE);
+ }
}