{
return [
new \Twig_SimpleFilter('removeWww', [$this, 'removeWww']),
+ new \Twig_SimpleFilter('removeSchemeAndWww', [$this, 'removeSchemeAndWww']),
];
}
return preg_replace('/^www\./i', '', $url);
}
+ public function removeSchemeAndWww($url)
+ {
+ return $this->removeWww(
+ preg_replace('@^https?://@i', '', $url)
+ );
+ }
+
/**
* Return number of entries depending of the type (unread, archive, starred or all).
*
$this->assertSame('lemonde.fr', $extension->removeWww('lemonde.fr'));
$this->assertSame('gist.github.com', $extension->removeWww('gist.github.com'));
}
+
+ public function testRemoveSchemeAndWww()
+ {
+ $entryRepository = $this->getMockBuilder('Wallabag\CoreBundle\Repository\EntryRepository')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $tagRepository = $this->getMockBuilder('Wallabag\CoreBundle\Repository\TagRepository')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $tokenStorage = $this->getMockBuilder('Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $translator = $this->getMockBuilder('Symfony\Component\Translation\TranslatorInterface')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $extension = new WallabagExtension($entryRepository, $tagRepository, $tokenStorage, 0, $translator);
+
+ $this->assertSame('lemonde.fr', $extension->removeSchemeAndWww('www.lemonde.fr'));
+ $this->assertSame('lemonde.fr', $extension->removeSchemeAndWww('http://lemonde.fr'));
+ $this->assertSame('lemonde.fr', $extension->removeSchemeAndWww('https://www.lemonde.fr'));
+ $this->assertSame('gist.github.com', $extension->removeSchemeAndWww('https://gist.github.com'));
+ $this->assertSame('ftp://gist.github.com', $extension->removeSchemeAndWww('ftp://gist.github.com'));
+ }
}