This commit is contained in:
Nicolas Lœuillet 2015-12-08 09:20:03 +01:00
parent c5d0db8b71
commit 347fa6beb0
8 changed files with 31 additions and 37 deletions

View file

@ -2,13 +2,11 @@
namespace Wallabag\CoreBundle\Form\DataTransformer;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;
/**
* Transforms a comma-separated list to a proper PHP array.
* Example: the string "foo, bar" will become the array ["foo", "bar"]
* Example: the string "foo, bar" will become the array ["foo", "bar"].
*/
class StringToListTransformer implements DataTransformerInterface
{
@ -44,14 +42,14 @@ class StringToListTransformer implements DataTransformerInterface
/**
* Transforms a string to a list.
*
* @param string $string
* @param string $string
*
* @return array|null
*/
public function reverseTransform($string)
{
if ($string === null) {
return null;
return;
}
return array_values(array_filter(array_map('trim', explode($this->separator, $string))));

View file

@ -5,7 +5,6 @@ namespace Wallabag\CoreBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Wallabag\CoreBundle\Form\DataTransformer\StringToListTransformer;
class TaggingRuleType extends AbstractType

View file

@ -19,7 +19,7 @@ class ContentProxy
public function __construct(Graby $graby, RuleBasedTagger $tagger, Logger $logger)
{
$this->graby = $graby;
$this->graby = $graby;
$this->tagger = $tagger;
$this->logger = $logger;
}

View file

@ -3,7 +3,6 @@
namespace Wallabag\CoreBundle\Helper;
use RulerZ\RulerZ;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
use Wallabag\CoreBundle\Repository\EntryRepository;
@ -18,8 +17,8 @@ class RuleBasedTagger
public function __construct(RulerZ $rulerz, TagRepository $tagRepository, EntryRepository $entryRepository)
{
$this->rulerz = $rulerz;
$this->tagRepository = $tagRepository;
$this->rulerz = $rulerz;
$this->tagRepository = $tagRepository;
$this->entryRepository = $entryRepository;
}
@ -54,11 +53,11 @@ class RuleBasedTagger
*/
public function tagAllForUser(User $user)
{
$rules = $this->getRulesForUser($user);
$rules = $this->getRulesForUser($user);
$entries = array();
foreach ($rules as $rule) {
$qb = $this->entryRepository->getBuilderForAllByUser($user->getId());
$qb = $this->entryRepository->getBuilderForAllByUser($user->getId());
$entries = $this->rulerz->filter($qb, $rule->getRule());
foreach ($entries as $entry) {

View file

@ -150,7 +150,7 @@ class ExportControllerTest extends WallabagCoreTestCase
$this->assertGreaterThan(1, $csv);
// +1 for title line
$this->assertEquals(count($contentInDB)+1, count($csv));
$this->assertEquals(count($contentInDB) + 1, count($csv));
$this->assertEquals('Title;URL;Content;Tags;"MIME Type";Language', $csv[0]);
}

View file

@ -19,10 +19,10 @@ class StringToListTransformerTest extends \PHPUnit_Framework_TestCase
public function transformProvider()
{
return array(
array( null, '' ),
array( array(), '' ),
array( array('single value'), 'single value' ),
array( array('first value', 'second value'), 'first value,second value' ),
array(null, ''),
array(array(), ''),
array(array('single value'), 'single value'),
array(array('first value', 'second value'), 'first value,second value'),
);
}
@ -39,12 +39,12 @@ class StringToListTransformerTest extends \PHPUnit_Framework_TestCase
public function reverseTransformProvider()
{
return array(
array( null, null ),
array( '', array() ),
array( 'single value', array('single value') ),
array( 'first value,second value', array('first value', 'second value') ),
array( 'first value, second value', array('first value', 'second value') ),
array( 'first value, , second value', array('first value', 'second value') ),
array(null, null),
array('', array()),
array('single value', array('single value')),
array('first value,second value', array('first value', 'second value')),
array('first value, second value', array('first value', 'second value')),
array('first value, , second value', array('first value', 'second value')),
);
}
}

View file

@ -2,9 +2,7 @@
namespace Wallabag\CoreBundle\Tests\Helper;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Psr\Log\NullLogger;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\UserBundle\Entity\User;
use Wallabag\CoreBundle\Helper\ContentProxy;

View file

@ -18,8 +18,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function setUp()
{
$this->rulerz = $this->getRulerZMock();
$this->tagRepository = $this->getTagRepositoryMock();
$this->rulerz = $this->getRulerZMock();
$this->tagRepository = $this->getTagRepositoryMock();
$this->entryRepository = $this->getEntryRepositoryMock();
$this->tagger = new RuleBasedTagger($this->rulerz, $this->tagRepository, $this->entryRepository);
@ -37,8 +37,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testTagWithNoMatchingRule()
{
$taggingRule = $this->getTaggingRule('rule as string', array('foo', 'bar'));
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$this->rulerz
->expects($this->once())
@ -54,8 +54,8 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testTagWithAMatchingRule()
{
$taggingRule = $this->getTaggingRule('rule as string', array('foo', 'bar'));
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$this->rulerz
->expects($this->once())
@ -76,10 +76,10 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testTagWithAMixOfMatchingRules()
{
$taggingRule = $this->getTaggingRule('bla bla', array('hey'));
$taggingRule = $this->getTaggingRule('bla bla', array('hey'));
$otherTaggingRule = $this->getTaggingRule('rule as string', array('foo'));
$user = $this->getUser([$taggingRule, $otherTaggingRule]);
$user = $this->getUser([$taggingRule, $otherTaggingRule]);
$entry = new Entry($user);
$this->rulerz
@ -98,9 +98,9 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
public function testWhenTheTagExists()
{
$taggingRule = $this->getTaggingRule('rule as string', array('foo'));
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$tag = new Tag($user);
$user = $this->getUser([$taggingRule]);
$entry = new Entry($user);
$tag = new Tag($user);
$this->rulerz
->expects($this->once())
@ -123,7 +123,7 @@ class RuleBasedTaggerTest extends \PHPUnit_Framework_TestCase
private function getUser(array $taggingRules = [])
{
$user = new User();
$user = new User();
$config = new Config($user);
$user->setConfig($config);