getMockBuilder(TranslatorInterface::class)->getMock(); $translator->method('trans')->willReturn('foo'); $configs = [ (new Configuration())->setName('theme.branding.title')->setValue($title) ]; $loader = new TestConfigLoader($configs); $configuration = new ThemeConfiguration($loader, ['branding' => ['title' => null]]); return new TitleExtension($translator, $configuration); } public function testGetFunctions() { $functions = ['get_title']; $sut = $this->getSut(); $twigFunctions = $sut->getFunctions(); $this->assertCount(\count($functions), $twigFunctions); $i = 0; /** @var TwigFunction $function */ foreach ($twigFunctions as $function) { $this->assertInstanceOf(TwigFunction::class, $function); $this->assertEquals($functions[$i++], $function->getName()); } } public function testGetTitle() { $sut = $this->getSut(); $this->assertEquals('Kimai – foo', $sut->generateTitle()); $this->assertEquals('sdfsdf | Kimai – foo', $sut->generateTitle('sdfsdf | ')); $this->assertEquals('Kimai ... foo', $sut->generateTitle('', ' ... ')); $this->assertEquals('Kimai | foo', $sut->generateTitle(null, ' | ')); } public function testGetBrandedTitle() { $sut = $this->getSut('MyCompany'); $this->assertEquals('MyCompany – foo', $sut->generateTitle()); $this->assertEquals('sdfsdf | MyCompany – foo', $sut->generateTitle('sdfsdf | ')); $this->assertEquals('MyCompany ... foo', $sut->generateTitle('', ' ... ')); $this->assertEquals('MyCompany | foo', $sut->generateTitle(null, ' | ')); } }