From 8125b415d8f3bd15b8b9169fb8fc528a51603edc Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sat, 7 Feb 2015 18:28:30 +0100 Subject: Avoid raw javascript in template It kills the Symfony Crawler :) --- src/Wallabag/CoreBundle/Resources/public/js/bookmarklet.js | 2 ++ src/Wallabag/CoreBundle/Resources/views/_bookmarklet.html.twig | 3 --- src/Wallabag/CoreBundle/Resources/views/_head.html.twig | 1 + src/Wallabag/CoreBundle/Resources/views/layout.html.twig | 1 - 4 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 src/Wallabag/CoreBundle/Resources/public/js/bookmarklet.js delete mode 100644 src/Wallabag/CoreBundle/Resources/views/_bookmarklet.html.twig diff --git a/src/Wallabag/CoreBundle/Resources/public/js/bookmarklet.js b/src/Wallabag/CoreBundle/Resources/public/js/bookmarklet.js new file mode 100644 index 00000000..2afdfc3c --- /dev/null +++ b/src/Wallabag/CoreBundle/Resources/public/js/bookmarklet.js @@ -0,0 +1,2 @@ + +top["bookmarklet-url@wallabag.org"]=""+""+""+""+"bag it!"+''+""+""+" diff --git a/src/Wallabag/CoreBundle/Resources/views/_head.html.twig b/src/Wallabag/CoreBundle/Resources/views/_head.html.twig index f123183b..726b4163 100755 --- a/src/Wallabag/CoreBundle/Resources/views/_head.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/_head.html.twig @@ -37,3 +37,4 @@ + diff --git a/src/Wallabag/CoreBundle/Resources/views/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/layout.html.twig index f062672c..e9ccc58c 100644 --- a/src/Wallabag/CoreBundle/Resources/views/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/layout.html.twig @@ -12,7 +12,6 @@ {% block title %}{% endblock %} - wallabag {% include "WallabagCoreBundle::_head.html.twig" %} - {% include "WallabagCoreBundle::_bookmarklet.html.twig" %} {% include "WallabagCoreBundle::_top.html.twig" %} -- cgit v1.2.3 From 94f2364cd82a7390fbeddcdc02a58222bd60fbf3 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sat, 7 Feb 2015 18:29:03 +0100 Subject: Fix #1057 Unexisting function --- src/Wallabag/CoreBundle/Service/Extractor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Wallabag/CoreBundle/Service/Extractor.php b/src/Wallabag/CoreBundle/Service/Extractor.php index d38b0d76..e4ec96f6 100644 --- a/src/Wallabag/CoreBundle/Service/Extractor.php +++ b/src/Wallabag/CoreBundle/Service/Extractor.php @@ -10,7 +10,7 @@ final class Extractor public static function extract($url) { $pageContent = Extractor::getPageContent(new Url(base64_encode($url))); - $title = ($pageContent['rss']['channel']['item']['title'] != '') ? $pageContent['rss']['channel']['item']['title'] : _('Untitled'); + $title = $pageContent['rss']['channel']['item']['title'] ?: 'Untitled'; $body = $pageContent['rss']['channel']['item']['description']; $content = new Content(); @@ -19,6 +19,7 @@ final class Extractor return $content; } + /** * Get the content for a given URL (by a call to FullTextFeed) * -- cgit v1.2.3 From 9c0c88200635a979b9abdcba922e1d3904790636 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sat, 7 Feb 2015 18:30:46 +0100 Subject: Add some tests on EntryController Also, create database schema on test initialisation --- app/build.xml | 5 ++ app/phpunit.xml.dist | 5 +- .../Tests/Controller/EntryControllerTest.php | 79 +++++++++++++++++++++- 3 files changed, 86 insertions(+), 3 deletions(-) diff --git a/app/build.xml b/app/build.xml index 700a31b5..6427867c 100644 --- a/app/build.xml +++ b/app/build.xml @@ -24,6 +24,11 @@ + + + + + diff --git a/app/phpunit.xml.dist b/app/phpunit.xml.dist index 6593a2f0..b8f38ff8 100644 --- a/app/phpunit.xml.dist +++ b/app/phpunit.xml.dist @@ -23,8 +23,9 @@ ../src ../vendor - ../src/Acme - ../src/AppBundle + ../src/Wallabag/CoreBundle/Resources + ../src/Wallabag/CoreBundle/Tests + ../src/Wallabag/CoreBundle/DataFixtures diff --git a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php index 786ff811..fde210c9 100644 --- a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php @@ -6,12 +6,89 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class EntryControllerTest extends WebTestCase { - public function testIndex() + public function testGetNew() { $client = static::createClient(); $crawler = $client->request('GET', '/new'); $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $this->assertCount(1, $crawler->filter('input[type=url]')); + $this->assertCount(1, $crawler->filter('button[type=submit]')); + } + + public function testPostNewEmpty() + { + $client = static::createClient(); + + $crawler = $client->request('GET', '/new'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $form = $crawler->filter('button[type=submit]')->form(); + + $crawler = $client->submit($form); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + $this->assertCount(1, $alert = $crawler->filter('form ul li')->extract(array('_text'))); + $this->assertEquals('This value should not be blank.', $alert[0]); + } + + public function testPostNewOk() + { + $client = static::createClient(); + + $crawler = $client->request('GET', '/new'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $form = $crawler->filter('button[type=submit]')->form(); + + $data = array( + 'form[url]' => 'https://www.mailjet.com/blog/mailjet-zapier-integrations-made-easy/', + ); + + $client->submit($form, $data); + + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + + $crawler = $client->followRedirect(); + + $this->assertCount(1, $alert = $crawler->filter('h2 a')->extract(array('_text'))); + $this->assertContains('Mailjet', $alert[0]); + } + + public function testArchive() + { + $client = static::createClient(); + + $crawler = $client->request('GET', '/archive'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + } + + public function testStarred() + { + $client = static::createClient(); + + $crawler = $client->request('GET', '/starred'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + } + + public function testView() + { + $client = static::createClient(); + + $content = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findOneByIsArchived(false); + + $crawler = $client->request('GET', '/view/'.$content->getId()); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + $this->assertContains($content->getTitle(), $client->getResponse()->getContent()); } } -- cgit v1.2.3