/** @test */ public function itIsExpectedThatIt() { $res = new ImportResolver(); $res->add('\\Lunar\\Foo as FooAlias'); $this->assertSame('FooAlias', $res->getAlias('\\Lunar\\Foo as FooAlias')); $this->assertSame('Lunar\\Foo as FooAlias', $res->getImport('\\Lunar\\Foo as FooAlias')); $this->assertSame('Lunar\\Bar as BarAlias', $res->getImport('\\Lunar\\Bar as BarAlias')); }
/** * getUseStatements * * @param Writer $writer * @param bool $newLine * * @return void */ protected function writeUseStatements(WriterInterface $writer, ImportResolver $resolver, $newLine = false) { $uses = []; false !== $newLine && $writer->newline(); foreach (array_unique($this->getImports()) as $use) { if ($this->inNamespace($use) && !$resolver->hasAlias($use)) { continue; } $uses[] = $resolver->getImport($use); } if (is_callable($this->usesort)) { usort($uses, $this->usesort); } else { natsort($uses); } foreach ($uses as $u) { $writer->writeln(sprintf('use %s;', $u)); } }