diff --git a/t/page.t b/t/page.t
index 029cb33..55f6518 100644
--- a/t/page.t
+++ b/t/page.t
@@ -1,6 +1,7 @@
 use Mojo::Base -strict;
 use Test::More;
 use Test::Mojo;
+use Mojo::File qw/path/;
 
 # Test the documentation
 
@@ -28,6 +29,50 @@
   ->header_like('Content-Security-Policy', qr!object-src 'self';!)
   ;
 
+# Test additions
+$t = Test::Mojo->new('Kalamar' => {
+  'Localize' => {
+    dict => {
+      en_howToCite => 'Citation Help',
+      de_howToCite => 'Zitierhilfe',
+      en_recentCorpusPub => 'Recent publications to refer to DeReKo as linguistic research data',
+      de_recentCorpusPub => 'Neuere Publikationen zu DeReKo als linguistische Forschungsdatengrundlage',
+      en_recentToolPub => 'Recent publications to refer to KorAP as a tool for research',
+      de_recentToolPub => 'Neuere Publikationen zu KorAP als Forschungswerkzeug',
+    }
+  },
+  'TagHelpers-ContentBlock' => {
+    footer => [
+      {
+        inline => '<%= link_to loc("howToCite") => url_for(doc => { page => "faq" })->fragment("howToCite") %>',
+        position => 75
+      }
+    ],
+    faq => [
+      {
+        position => 50,
+        inline => <<'HOWTOCITE'
+<section>
+  <h3 id="howToCite"><%= loc 'howToCite' %></h3>
+%= include 'custom/partial/citation'
+</section>
+HOWTOCITE
+      }
+    ]
+  }
+});
+
+push @{$t->app->renderer->paths}, path(path(__FILE__)->dirname);
+
+$t->get_ok('/')
+  ->text_is('footer a:nth-child(1)', 'Citation Help')
+  ->attr_like('footer a:nth-child(1)', 'href', qr'/doc/+faq#howToCite');
+
+$t->get_ok('/doc//faq#howToCite')
+  ->text_is('#howToCite', 'Citation Help')
+  ->text_is('section > section h4', 'Recent publications to refer to DeReKo as linguistic research data')
+  ;
+
 done_testing;
 
 1;
