/** * Test the empty Generator. */ public function testEmptyGenerator() { $loader = new \Twig_Loader_Filesystem(__DIR__ . '/../src/Resources/templates/'); $environment = new \Twig_Environment($loader); $filesystem = $this->prophesize(Filesystem::class); $interface = <<<EOI <?php namespace \\A\\Namespace; /** * Implement this interface in UnitTest! * This is a combined interface that will automatically extend to contain the required functions. */ interface UnitTestInterface { } EOI; $filesystem->dumpFile('/tmp/unit-test/UnitTestInterface.php', $interface)->shouldBeCalled(); $empty_generator = new EmptyGenerator($environment, $filesystem->reveal()); $package_class = $this->prophesize(PackageClass::class); $package_class->getName()->willReturn('\\A\\Namespace\\UnitTest'); $package_class->getShortName()->willReturn('UnitTest'); $package_class->getGeneratedNamespaceName()->willReturn('\\A\\Namespace'); $package_class->getGeneratedDirectory()->willReturn('/tmp/unit-test/'); $empty_generator->generate($package_class->reveal()); }
public function testGenerateWithExtendedReturnType() { if (PHP_VERSION_ID < 70100) { $this->markTestSkipped('Return types are not available in PHP <7.1'); } $empty_generator = new EmptyGenerator($this->environment, new Filesystem()); $package_class = new PackageClass(ExtendedReturnType::class, __DIR__ . '/Fixtures/ExtendedReturnType.php'); $empty_generator->generate($package_class); $package_class = new PackageClass(ExtendedReturnType::class, __DIR__ . '/Fixtures/ExtendedReturnType.php'); $this->reflection_generator->generate($package_class); $expected = file_get_contents(__DIR__ . '/Fixtures/ExtendedReturnTypeInterface.php'); $actual = file_get_contents(__DIR__ . '/Fixtures/Generated/ExtendedReturnTypeInterface.php'); unlink(__DIR__ . '/Fixtures/Generated/ExtendedReturnTypeInterface.php'); rmdir(__DIR__ . '/Fixtures/Generated'); $this->assertSame($expected, $actual); }