|
@@ -6,20 +6,40 @@ use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
|
|
|
|
|
|
class FeedControllerTest extends WebTestCase
|
|
|
{
|
|
|
- public function testLatest()
|
|
|
+ /**
|
|
|
+ * @param $feed
|
|
|
+ * @param $format
|
|
|
+ *
|
|
|
+ * @dataProvider provideForFeed
|
|
|
+ */
|
|
|
+ public function testFeedAction($feed, $format, $filter = null)
|
|
|
{
|
|
|
$client = self::createClient();
|
|
|
|
|
|
- $crawler = $client->request('GET', '/feed/latest.rss');
|
|
|
- $this->assertContains('rss', $client->getResponse()->getContent());
|
|
|
+ $filterExtra = ($filter !== null)? ".$filter":'';
|
|
|
+
|
|
|
+ $crawler = $client->request('GET', "/feed/$feed$filterExtra.$format");
|
|
|
+
|
|
|
+ var_dump($client->getResponse()->getContent());
|
|
|
+ $this->assertEquals(200, $client->getResponse()->getStatusCode());
|
|
|
+ $this->assertContains($format, $client->getResponse()->getContent());
|
|
|
+
|
|
|
+ if ($filter !== null) {
|
|
|
+ $this->assertContains($filter, $client->getResponse()->getContent());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public function testLatestAtom()
|
|
|
- {
|
|
|
- $client = self::createClient();
|
|
|
|
|
|
- $crawler = $client->request('GET', '/feed/latest.atom');
|
|
|
- $this->assertContains('Atom', $client->getResponse()->getContent());
|
|
|
+ public function provideForFeed()
|
|
|
+ {
|
|
|
+ return array(
|
|
|
+ array('latest', 'rss'),
|
|
|
+ array('latest', 'atom'),
|
|
|
+ array('newest', 'rss'),
|
|
|
+ array('newest', 'atom'),
|
|
|
+ array('vendor', 'rss', 'symfony'),
|
|
|
+ array('vendor', 'atom', 'symfony'),
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
}
|