]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Handle redirection from previous feeds 3223/head
authorJeremy Benoist <jeremy.benoist@gmail.com>
Fri, 26 Apr 2019 11:40:58 +0000 (13:40 +0200)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Fri, 26 Apr 2019 11:40:58 +0000 (13:40 +0200)
app/config/routing.yml
tests/Wallabag/CoreBundle/Controller/FeedControllerTest.php

index a7c0f7e9d17d7c9efe1247df5542d03577049295..d4defca02b2d7fdd04697427dca8ad2f33915ea5 100644 (file)
@@ -59,3 +59,39 @@ fos_js_routing:
 
 2fa_login_check:
     path: /2fa_check
+
+# redirect RSS feed to Atom
+rss_to_atom_unread:
+    path: /{username}/{token}/unread.xml
+    defaults:
+        _controller: FrameworkBundle:Redirect:redirect
+        route: unread_feed
+        permanent: true
+
+rss_to_atom_archive:
+    path: /{username}/{token}/archive.xml
+    defaults:
+        _controller: FrameworkBundle:Redirect:redirect
+        route: archive_feed
+        permanent: true
+
+rss_to_atom_starred:
+    path: /{username}/{token}/starred.xml
+    defaults:
+        _controller: FrameworkBundle:Redirect:redirect
+        route: starred_feed
+        permanent: true
+
+rss_to_atom_all:
+    path: /{username}/{token}/all.xml
+    defaults:
+        _controller: FrameworkBundle:Redirect:redirect
+        route: all_feed
+        permanent: true
+
+rss_to_atom_tags:
+    path: /{username}/{token}/tags/{slug}.xml
+    defaults:
+        _controller: FrameworkBundle:Redirect:redirect
+        route: tag_feed
+        permanent: true
index 70f33ebef0b4317b3d963db749f80b8c8fa73f3c..d52d7bb8a072a0fa1d39e3e7801ba065c838583b 100644 (file)
@@ -225,4 +225,37 @@ class FeedControllerTest extends WallabagCoreTestCase
         $client->request('GET', '/feed/admin/SUPERTOKEN/tags/foo/3000');
         $this->assertSame(302, $client->getResponse()->getStatusCode());
     }
+
+    public function dataForRedirect()
+    {
+        return [
+            [
+                '/admin/YZIOAUZIAO/unread.xml',
+            ],
+            [
+                '/admin/YZIOAUZIAO/starred.xml',
+            ],
+            [
+                '/admin/YZIOAUZIAO/archive.xml',
+            ],
+            [
+                '/admin/YZIOAUZIAO/all.xml',
+            ],
+            [
+                '/admin/YZIOAUZIAO/tags/foo.xml',
+            ],
+        ];
+    }
+
+    /**
+     * @dataProvider dataForRedirect
+     */
+    public function testRedirectFromRssToAtom($url)
+    {
+        $client = $this->getClient();
+
+        $client->request('GET', $url);
+
+        $this->assertSame(301, $client->getResponse()->getStatusCode());
+    }
 }