From: Jérémy Benoist Date: Sat, 28 Mar 2020 15:38:12 +0000 (+0100) Subject: Merge pull request #4299 from wallabag/fix/4133 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=26467fa6b48d5ac2ea5fdab0e17eb1e585aee330;hp=8ee7b1603d23297a6c183105f79b1290ce9828bf;p=github%2Fwallabag%2Fwallabag.git Merge pull request #4299 from wallabag/fix/4133 Fix createdAt filter on material --- diff --git a/.travis.yml b/.travis.yml index 229e3e0e..c09bcd22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,12 +16,15 @@ cache: - $HOME/.npm - $HOME/.yarn-cache +if: | + type = pull_request OR \ + branch = master + php: - 7.1 - 7.2 - 7.3 - 7.4 - - nightly node_js: - "5" @@ -34,11 +37,10 @@ env: matrix: fast_finish: true include: - - php: 7.2 + - php: 7.3 env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite allow_failures: - php: 7.4 - - php: nightly # exclude v1 branches branches: diff --git a/Capfile b/Capfile deleted file mode 100644 index cc807112..00000000 --- a/Capfile +++ /dev/null @@ -1,15 +0,0 @@ -set :deploy_config_path, 'app/config/capistrano/deploy.rb' -set :stage_config_path, 'app/config/capistrano/deploy' - -# Load DSL and set up stages -require 'capistrano/setup' - -# Include default deployment tasks -require 'capistrano/deploy' - -require 'capistrano/composer' -require 'capistrano/file-permissions' -require 'capistrano/symfony' - -# Load custom tasks from `lib/capistrano/tasks` if you have any defined -Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r } diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 233be899..00000000 --- a/Gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem 'capistrano', '~> 3.4' -gem 'capistrano-composer' -gem 'capistrano-symfony', '~> 1.0.0.rc1' -gem 'capistrano-file-permissions' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 7b13b399..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,37 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - capistrano (3.4.0) - i18n - rake (>= 10.0.0) - sshkit (~> 1.3) - capistrano-composer (0.0.6) - capistrano (>= 3.0.0.pre) - capistrano-file-permissions (1.0.0) - capistrano (~> 3.0) - capistrano-symfony (1.0.0.rc1) - capistrano (~> 3.1) - capistrano-composer (~> 0.0.3) - capistrano-file-permissions (~> 1.0) - colorize (0.7.7) - i18n (0.7.0) - net-scp (1.2.1) - net-ssh (>= 2.6.5) - net-ssh (2.9.2) - rake (10.4.2) - sshkit (1.7.1) - colorize (>= 0.7.0) - net-scp (>= 1.1.2) - net-ssh (>= 2.8.0) - -PLATFORMS - ruby - -DEPENDENCIES - capistrano (~> 3.4) - capistrano-composer - capistrano-file-permissions - capistrano-symfony (~> 1.0.0.rc1) - -BUNDLED WITH - 1.13.5 diff --git a/app/config/capistrano/deploy.rb b/app/config/capistrano/deploy.rb deleted file mode 100644 index fee04620..00000000 --- a/app/config/capistrano/deploy.rb +++ /dev/null @@ -1,19 +0,0 @@ -# config valid only for current version of Capistrano - -set :application, 'wallabag' -set :repo_url, 'git@github.com:wallabag/wallabag.git' - -set :ssh_user, 'framasoft_bag' -server '78.46.248.87', user: fetch(:ssh_user), roles: %w{web app db} - -set :format, :pretty -set :log_level, :info -# set :log_level, :debug - -set :composer_install_flags, '--no-dev --prefer-dist --no-interaction --optimize-autoloader' - -set :linked_files, %w{app/config/parameters.yml} -set :linked_dirs, [fetch(:log_path), "var/sessions", "web/uploads", "data"] -set :keep_releases, 3 - -after 'deploy:updated', 'symfony:cache:clear' diff --git a/app/config/capistrano/deploy/production.rb b/app/config/capistrano/deploy/production.rb deleted file mode 100644 index e69de29b..00000000 diff --git a/app/config/capistrano/deploy/staging.rb b/app/config/capistrano/deploy/staging.rb deleted file mode 100644 index ad899a85..00000000 --- a/app/config/capistrano/deploy/staging.rb +++ /dev/null @@ -1,2 +0,0 @@ -set :branch, 'master' -set :deploy_to, '/var/www/v2.wallabag.org/web/' diff --git a/composer.lock b/composer.lock index 243d4ad5..e0231ac8 100644 --- a/composer.lock +++ b/composer.lock @@ -1918,24 +1918,24 @@ }, { "name": "friendsofsymfony/oauth2-php", - "version": "1.2.3", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/FriendsOfSymfony/oauth2-php.git", - "reference": "a41fef63f81ef2ef632350a6c7dc66d15baa9240" + "reference": "606b8ea1c3c927c272ac1409116332ad5a2ed94c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/oauth2-php/zipball/a41fef63f81ef2ef632350a6c7dc66d15baa9240", - "reference": "a41fef63f81ef2ef632350a6c7dc66d15baa9240", + "url": "https://api.github.com/repos/FriendsOfSymfony/oauth2-php/zipball/606b8ea1c3c927c272ac1409116332ad5a2ed94c", + "reference": "606b8ea1c3c927c272ac1409116332ad5a2ed94c", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/http-foundation": "~3.0|~4.0" + "php": "^5.5.9|^7.0.8|^7.1.3|^7.2.5", + "symfony/http-foundation": "~3.0|~4.0|~5.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "^4.8 || ^5.0" }, "type": "library", "extra": { @@ -1946,7 +1946,10 @@ "autoload": { "psr-4": { "OAuth2\\": "lib/" - } + }, + "exclude-from-classmap": [ + "/tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1968,7 +1971,7 @@ "oauth", "oauth2" ], - "time": "2018-01-30T19:58:25+00:00" + "time": "2020-03-03T22:14:46+00:00" }, { "name": "friendsofsymfony/rest-bundle", @@ -3692,26 +3695,26 @@ }, { "name": "incenteev/composer-parameter-handler", - "version": "v2.1.3", + "version": "v2.1.4", "source": { "type": "git", "url": "https://github.com/Incenteev/ParameterHandler.git", - "reference": "933c45a34814f27f2345c11c37d46b3ca7303550" + "reference": "084befb11ec21faeadcddefb88b66132775ff59b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/933c45a34814f27f2345c11c37d46b3ca7303550", - "reference": "933c45a34814f27f2345c11c37d46b3ca7303550", + "url": "https://api.github.com/repos/Incenteev/ParameterHandler/zipball/084befb11ec21faeadcddefb88b66132775ff59b", + "reference": "084befb11ec21faeadcddefb88b66132775ff59b", "shasum": "" }, "require": { "php": ">=5.3.3", - "symfony/yaml": "^2.3 || ^3.0 || ^4.0" + "symfony/yaml": "^2.3 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { "composer/composer": "^1.0@dev", - "symfony/filesystem": "^2.3 || ^3 || ^4", - "symfony/phpunit-bridge": "^4.0" + "symfony/filesystem": "^2.3 || ^3 || ^4 || ^5", + "symfony/phpunit-bridge": "^4.0 || ^5.0" }, "type": "library", "extra": { @@ -3739,7 +3742,7 @@ "keywords": [ "parameters management" ], - "time": "2018-02-13T18:05:56+00:00" + "time": "2020-03-17T21:10:00+00:00" }, { "name": "j0k3r/graby", @@ -8314,16 +8317,16 @@ }, { "name": "symfony/polyfill-apcu", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-apcu.git", - "reference": "a8e961c841b9ec52927a87914f8820a1ad8f8116" + "reference": "f5a6efd9d9f68790120734f80f8fda972981edab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/a8e961c841b9ec52927a87914f8820a1ad8f8116", - "reference": "a8e961c841b9ec52927a87914f8820a1ad8f8116", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/f5a6efd9d9f68790120734f80f8fda972981edab", + "reference": "f5a6efd9d9f68790120734f80f8fda972981edab", "shasum": "" }, "require": { @@ -8332,7 +8335,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8366,20 +8369,20 @@ "portable", "shim" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", + "reference": "fbdeaec0df06cf3d51c93de80c7eb76e271f5a38", "shasum": "" }, "require": { @@ -8391,7 +8394,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8424,7 +8427,7 @@ "polyfill", "portable" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-iconv", @@ -8487,16 +8490,16 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "b3dffd68afa61ca70f2327f2dd9bbeb6aa53d70b" + "reference": "727b3bb5bfa7ca9eeb86416784cf1c08a6289b86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/b3dffd68afa61ca70f2327f2dd9bbeb6aa53d70b", - "reference": "b3dffd68afa61ca70f2327f2dd9bbeb6aa53d70b", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/727b3bb5bfa7ca9eeb86416784cf1c08a6289b86", + "reference": "727b3bb5bfa7ca9eeb86416784cf1c08a6289b86", "shasum": "" }, "require": { @@ -8509,7 +8512,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8541,7 +8544,7 @@ "portable", "shim" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-intl-idn", @@ -8607,16 +8610,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", + "reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", "shasum": "" }, "require": { @@ -8628,7 +8631,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8662,20 +8665,20 @@ "portable", "shim" ], - "time": "2019-11-27T14:18:11+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4" + "reference": "16ec91cb06998b609501b55b7177b7d7c02badb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/53dd1cdf3cb986893ccf2b96665b25b3abb384f4", - "reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/16ec91cb06998b609501b55b7177b7d7c02badb3", + "reference": "16ec91cb06998b609501b55b7177b7d7c02badb3", "shasum": "" }, "require": { @@ -8685,7 +8688,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8718,20 +8721,20 @@ "portable", "shim" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "af23c7bb26a73b850840823662dda371484926c4" + "reference": "419c4940024c30ccc033650373a1fe13890d3255" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/af23c7bb26a73b850840823662dda371484926c4", - "reference": "af23c7bb26a73b850840823662dda371484926c4", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/419c4940024c30ccc033650373a1fe13890d3255", + "reference": "419c4940024c30ccc033650373a1fe13890d3255", "shasum": "" }, "require": { @@ -8741,7 +8744,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8777,7 +8780,7 @@ "portable", "shim" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/polyfill-php72", @@ -8894,16 +8897,16 @@ }, { "name": "symfony/polyfill-util", - "version": "v1.13.1", + "version": "v1.14.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "964a67f293b66b95883a5ed918a65354fcd2258f" + "reference": "ba3cfcea6d0192cae46c62041f61cbb704b526d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/964a67f293b66b95883a5ed918a65354fcd2258f", - "reference": "964a67f293b66b95883a5ed918a65354fcd2258f", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/ba3cfcea6d0192cae46c62041f61cbb704b526d3", + "reference": "ba3cfcea6d0192cae46c62041f61cbb704b526d3", "shasum": "" }, "require": { @@ -8912,7 +8915,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-master": "1.14-dev" } }, "autoload": { @@ -8942,7 +8945,7 @@ "polyfill", "shim" ], - "time": "2019-11-27T13:56:44+00:00" + "time": "2020-01-13T11:15:53+00:00" }, { "name": "symfony/service-contracts", @@ -9069,16 +9072,16 @@ }, { "name": "symfony/symfony", - "version": "v3.4.37", + "version": "v3.4.38", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "1bd873459b36cf505c7b515ba6e0e2ee40890b8a" + "reference": "c5a882db43e7163114edffdf3ee2f988328fa6c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/1bd873459b36cf505c7b515ba6e0e2ee40890b8a", - "reference": "1bd873459b36cf505c7b515ba6e0e2ee40890b8a", + "url": "https://api.github.com/repos/symfony/symfony/zipball/c5a882db43e7163114edffdf3ee2f988328fa6c4", + "reference": "c5a882db43e7163114edffdf3ee2f988328fa6c4", "shasum": "" }, "require": { @@ -9221,7 +9224,7 @@ "keywords": [ "framework" ], - "time": "2020-01-21T12:30:09+00:00" + "time": "2020-02-29T10:21:57+00:00" }, { "name": "true/punycode", @@ -9326,16 +9329,16 @@ }, { "name": "twig/twig", - "version": "v2.12.3", + "version": "v2.12.5", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "97b6311585cae66a26833b14b33785f5797f7d39" + "reference": "18772e0190734944277ee97a02a9a6c6555fcd94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/97b6311585cae66a26833b14b33785f5797f7d39", - "reference": "97b6311585cae66a26833b14b33785f5797f7d39", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/18772e0190734944277ee97a02a9a6c6555fcd94", + "reference": "18772e0190734944277ee97a02a9a6c6555fcd94", "shasum": "" }, "require": { @@ -9387,7 +9390,7 @@ "keywords": [ "templating" ], - "time": "2019-12-28T07:12:03+00:00" + "time": "2020-02-11T15:31:23+00:00" }, { "name": "wallabag/php-mobi", diff --git a/src/Wallabag/CoreBundle/Controller/ExportController.php b/src/Wallabag/CoreBundle/Controller/ExportController.php index 282fd733..cec8d499 100644 --- a/src/Wallabag/CoreBundle/Controller/ExportController.php +++ b/src/Wallabag/CoreBundle/Controller/ExportController.php @@ -68,6 +68,18 @@ class ExportController extends Controller ); $title = 'Tag ' . $tag->getLabel(); + } elseif ('search' === $category) { + $searchTerm = (isset($request->get('search_entry')['term']) ? $request->get('search_entry')['term'] : ''); + $currentRoute = (null !== $request->query->get('currentRoute') ? $request->query->get('currentRoute') : ''); + + $entries = $repository->getBuilderForSearchByUser( + $this->getUser()->getId(), + $searchTerm, + $currentRoute + )->getQuery() + ->getResult(); + + $title = 'Search ' . $searchTerm; } else { $entries = $repository ->$methodBuilder($this->getUser()->getId()) diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig index b747ed84..4182628f 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig @@ -96,16 +96,21 @@ {% if tag is defined %} {% set currentTag = tag %} {% endif %} + {% set exportSearchTerm = null %} + {% if searchTerm is defined %} + {% set exportSearchTerm = searchTerm %} + {% endif %} + {% set previousRoute = app.request.attributes.get('currentRoute') %}

{{ 'entry.list.export_title'|trans }}

× diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig index 540381b6..0cd00cfd 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig @@ -63,15 +63,20 @@ {% if tag is defined %} {% set currentTag = tag.slug %} {% endif %} + {% set exportSearchTerm = null %} + {% if searchTerm is defined %} + {% set exportSearchTerm = searchTerm %} + {% endif %} + {% set previousRoute = app.request.attributes.get('currentRoute') %}

{{ 'entry.list.export_title'|trans }}

diff --git a/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php index d7ce7c45..36822ab3 100644 --- a/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/ExportControllerTest.php @@ -3,9 +3,13 @@ namespace Tests\Wallabag\CoreBundle\Controller; use Tests\Wallabag\CoreBundle\WallabagCoreTestCase; +use Wallabag\CoreBundle\Entity\Entry; class ExportControllerTest extends WallabagCoreTestCase { + private $adminEntry; + private $bobEntry; + public function testLogin() { $client = $this->getClient(); @@ -243,6 +247,30 @@ class ExportControllerTest extends WallabagCoreTestCase $this->assertContains('foo', $content[0]['tags']); } + public function testJsonExportFromSearch() + { + $this->setUpForJsonExportFromSearch(); + + $this->logInAs('admin'); + $client = $this->getClient(); + + ob_start(); + $crawler = $client->request('GET', '/export/search.json?search_entry[term]=entry+search¤tRoute=homepage'); + ob_end_clean(); + + $this->assertSame(200, $client->getResponse()->getStatusCode()); + + $headers = $client->getResponse()->headers; + $this->assertSame('application/json', $headers->get('content-type')); + $this->assertSame('attachment; filename="Search entry search articles.json"', $headers->get('content-disposition')); + $this->assertSame('UTF-8', $headers->get('content-transfer-encoding')); + + $content = json_decode($client->getResponse()->getContent(), true); + $this->assertCount(1, $content); + + $this->tearDownForJsonExportFromSearch(); + } + public function testXmlExport() { $this->logInAs('admin'); @@ -282,6 +310,41 @@ class ExportControllerTest extends WallabagCoreTestCase $this->assertNotEmpty('updated_at', (string) $content->entry[0]->updated_at); } + private function setUpForJsonExportFromSearch() + { + $client = $this->getClient(); + $em = $this->getEntityManager(); + + $userRepository = $client->getContainer() + ->get('wallabag_user.user_repository.test'); + + $user = $userRepository->findOneByUserName('admin'); + $this->adminEntry = new Entry($user); + $this->adminEntry->setUrl('http://0.0.0.0/entry-search-admin'); + $this->adminEntry->setTitle('test title entry search admin'); + $this->adminEntry->setContent('this is my content /o/'); + $em->persist($this->adminEntry); + + $user = $userRepository->findOneByUserName('bob'); + $this->bobEntry = new Entry($user); + $this->bobEntry->setUrl('http://0.0.0.0/entry-search-bob'); + $this->bobEntry->setTitle('test title entry search bob'); + $this->bobEntry->setContent('this is my content /o/'); + $em->persist($this->bobEntry); + + $em->flush(); + } + + private function tearDownForJsonExportFromSearch() + { + $em = $this->getEntityManager(); + + $em->remove($this->adminEntry); + $em->remove($this->bobEntry); + + $em->flush(); + } + private function getSanitizedFilename($title) { return preg_replace('/[^A-Za-z0-9\- \']/', '', iconv('utf-8', 'us-ascii//TRANSLIT', $title));