X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fsymfony%2Fvar-dumper%2FTests%2FCaster%2FReflectionCasterTest.php;fp=vendor%2Fsymfony%2Fvar-dumper%2FTests%2FCaster%2FReflectionCasterTest.php;h=1704b258089bf2d776e4b34b761c799162319063;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website
diff --git a/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php
new file mode 100644
index 000000000..1704b2580
--- /dev/null
+++ b/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php
@@ -0,0 +1,244 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\VarDumper\Tests\Caster;
+
+use Symfony\Component\VarDumper\Test\VarDumperTestCase;
+use Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo;
+use Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass;
+
+/**
+ * @author Nicolas Grekas
+ */
+class ReflectionCasterTest extends VarDumperTestCase
+{
+ public function testReflectionCaster()
+ {
+ $var = new \ReflectionClass('ReflectionClass');
+
+ $this->assertDumpMatchesFormat(
+ <<<'EOTXT'
+ReflectionClass {
+ +name: "ReflectionClass"
+%Aimplements: array:%d [
+ 0 => "Reflector"
+%A]
+ constants: array:3 [
+ "IS_IMPLICIT_ABSTRACT" => 16
+ "IS_EXPLICIT_ABSTRACT" => 32
+ "IS_FINAL" => %d
+ ]
+ properties: array:%d [
+ "name" => ReflectionProperty {
+%A +name: "name"
+ +class: "ReflectionClass"
+%A modifiers: "public"
+ }
+%A]
+ methods: array:%d [
+%A
+ "export" => ReflectionMethod {
+ +name: "export"
+ +class: "ReflectionClass"
+%A parameters: {
+ $%s: ReflectionParameter {
+%A position: 0
+%A
+}
+EOTXT
+ , $var
+ );
+ }
+
+ public function testClosureCaster()
+ {
+ $a = $b = 123;
+ $var = function ($x) use ($a, &$b) {};
+
+ $this->assertDumpMatchesFormat(
+ <<assertDumpMatchesFormat(
+ <<<'EOTXT'
+ReflectionParameter {
+ +name: "arg1"
+ position: 0
+ typeHint: "Symfony\Component\VarDumper\Tests\Fixtures\NotLoadableClass"
+ default: null
+}
+EOTXT
+ , $var
+ );
+ }
+
+ /**
+ * @requires PHP 7.0
+ */
+ public function testReflectionParameterScalar()
+ {
+ $f = eval('return function (int $a) {};');
+ $var = new \ReflectionParameter($f, 0);
+
+ $this->assertDumpMatchesFormat(
+ <<<'EOTXT'
+ReflectionParameter {
+ +name: "a"
+ position: 0
+ typeHint: "int"
+}
+EOTXT
+ , $var
+ );
+ }
+
+ /**
+ * @requires PHP 7.0
+ */
+ public function testReturnType()
+ {
+ $f = eval('return function ():int {};');
+ $line = __LINE__ - 1;
+
+ $this->assertDumpMatchesFormat(
+ <<markTestSkipped('xdebug is active');
+ }
+
+ $generator = new GeneratorDemo();
+ $generator = $generator->baz();
+
+ $expectedDump = <<<'EODUMP'
+Generator {
+ this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { â¦}
+ executing: {
+ Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo->baz(): {
+ %sGeneratorDemo.php:14: """
+ {\n
+ yield from bar();\n
+ }\n
+ """
+ }
+ }
+ closed: false
+}
+EODUMP;
+
+ $this->assertDumpMatchesFormat($expectedDump, $generator);
+
+ foreach ($generator as $v) {
+ break;
+ }
+
+ $expectedDump = <<<'EODUMP'
+array:2 [
+ 0 => ReflectionGenerator {
+ this: Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo { â¦}
+ trace: {
+ 3. Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo() ==> yield(): {
+ src: {
+ %sGeneratorDemo.php:9: """
+ {\n
+ yield 1;\n
+ }\n
+ """
+ }
+ }
+ 2. Symfony\Component\VarDumper\Tests\Fixtures\bar() ==> Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo(): {
+ src: {
+ %sGeneratorDemo.php:20: """
+ {\n
+ yield from GeneratorDemo::foo();\n
+ }\n
+ """
+ }
+ }
+ 1. Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo->baz() ==> Symfony\Component\VarDumper\Tests\Fixtures\bar(): {
+ src: {
+ %sGeneratorDemo.php:14: """
+ {\n
+ yield from bar();\n
+ }\n
+ """
+ }
+ }
+ }
+ closed: false
+ }
+ 1 => Generator {
+ executing: {
+ Symfony\Component\VarDumper\Tests\Fixtures\GeneratorDemo::foo(): {
+ %sGeneratorDemo.php:10: """
+ yield 1;\n
+ }\n
+ \n
+ """
+ }
+ }
+ closed: false
+ }
+]
+EODUMP;
+
+ $r = new \ReflectionGenerator($generator);
+ $this->assertDumpMatchesFormat($expectedDump, array($r, $r->getExecutingGenerator()));
+
+ foreach ($generator as $v) {
+ }
+
+ $expectedDump = <<<'EODUMP'
+Generator {
+ closed: true
+}
+EODUMP;
+ $this->assertDumpMatchesFormat($expectedDump, $generator);
+ }
+}
+
+function reflectionParameterFixture(NotLoadableClass $arg1 = null, $arg2)
+{
+}