Merge pull request #1529 from wallabag/v2-taggingrule-tablename

changed table name for tagging rule
This commit is contained in:
Jeremy Benoist 2015-12-08 09:35:27 +01:00
commit da2240f9d4
9 changed files with 32 additions and 38 deletions

View file

@ -10,7 +10,7 @@ use KPhoen\RulerZBundle\Validator\Constraints as RulerZAssert;
* Tagging rule. * Tagging rule.
* *
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TaggingRuleRepository") * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TaggingRuleRepository")
* @ORM\Table * @ORM\Table(name="`tagging_rule`")
* @ORM\Entity * @ORM\Entity
*/ */
class TaggingRule class TaggingRule

View file

@ -2,13 +2,11 @@
namespace Wallabag\CoreBundle\Form\DataTransformer; namespace Wallabag\CoreBundle\Form\DataTransformer;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;
/** /**
* Transforms a comma-separated list to a proper PHP array. * 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 class StringToListTransformer implements DataTransformerInterface
{ {
@ -44,14 +42,14 @@ class StringToListTransformer implements DataTransformerInterface
/** /**
* Transforms a string to a list. * Transforms a string to a list.
* *
* @param string $string * @param string $string
* *
* @return array|null * @return array|null
*/ */
public function reverseTransform($string) public function reverseTransform($string)
{ {
if ($string === null) { if ($string === null) {
return null; return;
} }
return array_values(array_filter(array_map('trim', explode($this->separator, $string)))); 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\AbstractType;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\OptionsResolver\OptionsResolver;
use Wallabag\CoreBundle\Form\DataTransformer\StringToListTransformer; use Wallabag\CoreBundle\Form\DataTransformer\StringToListTransformer;
class TaggingRuleType extends AbstractType class TaggingRuleType extends AbstractType

View file

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

View file

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

View file

@ -150,7 +150,7 @@ class ExportControllerTest extends WallabagCoreTestCase
$this->assertGreaterThan(1, $csv); $this->assertGreaterThan(1, $csv);
// +1 for title line // +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]); $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() public function transformProvider()
{ {
return array( return array(
array( null, '' ), array(null, ''),
array( array(), '' ), array(array(), ''),
array( array('single value'), 'single value' ), array(array('single value'), 'single value'),
array( array('first value', 'second value'), 'first value,second value' ), array(array('first value', 'second value'), 'first value,second value'),
); );
} }
@ -39,12 +39,12 @@ class StringToListTransformerTest extends \PHPUnit_Framework_TestCase
public function reverseTransformProvider() public function reverseTransformProvider()
{ {
return array( return array(
array( null, null ), array(null, null),
array( '', array() ), array('', array()),
array( 'single value', array('single value') ), 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('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; namespace Wallabag\CoreBundle\Tests\Helper;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Psr\Log\NullLogger; use Psr\Log\NullLogger;
use Wallabag\CoreBundle\Entity\Entry; use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\UserBundle\Entity\User; use Wallabag\UserBundle\Entity\User;
use Wallabag\CoreBundle\Helper\ContentProxy; use Wallabag\CoreBundle\Helper\ContentProxy;

View file

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