From e3e484e5610d75dfa50497d5b6b166038eb50dc7 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sat, 22 Sep 2018 11:53:40 +0100 Subject: [PATCH] Added custom head content to exports Closes #981 Also fixed incorrect download tests. --- resources/views/base.blade.php | 6 +--- resources/views/books/export.blade.php | 1 + resources/views/chapters/export.blade.php | 1 + resources/views/pages/export.blade.php | 1 + .../views/partials/custom-head.blade.php | 5 ++++ tests/Entity/ExportTest.php | 29 +++++++++++++------ 6 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 resources/views/partials/custom-head.blade.php diff --git a/resources/views/base.blade.php b/resources/views/base.blade.php index 016f8e833..e6d0b7761 100644 --- a/resources/views/base.blade.php +++ b/resources/views/base.blade.php @@ -20,11 +20,7 @@ @include('partials/custom-styles') - @if(setting('app-custom-head') && \Route::currentRouteName() !== 'settings') - - {!! setting('app-custom-head') !!} - - @endif + @include('partials.custom-head') diff --git a/resources/views/books/export.blade.php b/resources/views/books/export.blade.php index 462ad7991..18440a74d 100644 --- a/resources/views/books/export.blade.php +++ b/resources/views/books/export.blade.php @@ -28,6 +28,7 @@ } @yield('head') + @include('partials.custom-head')
diff --git a/resources/views/chapters/export.blade.php b/resources/views/chapters/export.blade.php index 2c15fbd57..8f710c0ec 100644 --- a/resources/views/chapters/export.blade.php +++ b/resources/views/chapters/export.blade.php @@ -21,6 +21,7 @@ } @yield('head') + @include('partials.custom-head')
diff --git a/resources/views/pages/export.blade.php b/resources/views/pages/export.blade.php index 8ed5b391a..ca708f8e0 100644 --- a/resources/views/pages/export.blade.php +++ b/resources/views/pages/export.blade.php @@ -10,6 +10,7 @@ @endif @yield('head') + @include('partials.custom-head')
diff --git a/resources/views/partials/custom-head.blade.php b/resources/views/partials/custom-head.blade.php new file mode 100644 index 000000000..dd7cc41e4 --- /dev/null +++ b/resources/views/partials/custom-head.blade.php @@ -0,0 +1,5 @@ +@if(setting('app-custom-head') && \Route::currentRouteName() !== 'settings') + + {!! setting('app-custom-head') !!} + +@endif \ No newline at end of file diff --git a/tests/Entity/ExportTest.php b/tests/Entity/ExportTest.php index 7fa485f20..5fff84b8d 100644 --- a/tests/Entity/ExportTest.php +++ b/tests/Entity/ExportTest.php @@ -15,7 +15,7 @@ class ExportTest extends TestCase $resp = $this->get($page->getUrl('/export/plaintext')); $resp->assertStatus(200); $resp->assertSee($page->name); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.txt'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.txt"'); } public function test_page_pdf_export() @@ -25,7 +25,7 @@ class ExportTest extends TestCase $resp = $this->get($page->getUrl('/export/pdf')); $resp->assertStatus(200); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.pdf'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.pdf"'); } public function test_page_html_export() @@ -36,7 +36,7 @@ class ExportTest extends TestCase $resp = $this->get($page->getUrl('/export/html')); $resp->assertStatus(200); $resp->assertSee($page->name); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.html'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $page->slug . '.html"'); } public function test_book_text_export() @@ -49,7 +49,7 @@ class ExportTest extends TestCase $resp->assertStatus(200); $resp->assertSee($book->name); $resp->assertSee($page->name); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.txt'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.txt"'); } public function test_book_pdf_export() @@ -60,7 +60,7 @@ class ExportTest extends TestCase $resp = $this->get($book->getUrl('/export/pdf')); $resp->assertStatus(200); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.pdf'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.pdf"'); } public function test_book_html_export() @@ -73,7 +73,7 @@ class ExportTest extends TestCase $resp->assertStatus(200); $resp->assertSee($book->name); $resp->assertSee($page->name); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $book->slug . '.html"'); } public function test_chapter_text_export() @@ -86,7 +86,7 @@ class ExportTest extends TestCase $resp->assertStatus(200); $resp->assertSee($chapter->name); $resp->assertSee($page->name); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.txt"'); } public function test_chapter_pdf_export() @@ -96,7 +96,7 @@ class ExportTest extends TestCase $resp = $this->get($chapter->getUrl('/export/pdf')); $resp->assertStatus(200); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.pdf"'); } public function test_chapter_html_export() @@ -109,7 +109,18 @@ class ExportTest extends TestCase $resp->assertStatus(200); $resp->assertSee($chapter->name); $resp->assertSee($page->name); - $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html'); + $resp->assertHeader('Content-Disposition', 'attachment; filename="' . $chapter->slug . '.html"'); + } + + public function test_page_html_export_contains_custom_head_if_set() + { + $page = Page::first(); + + $customHeadContent = ""; + $this->setSettings(['app-custom-head' => $customHeadContent]); + + $resp = $this->asEditor()->get($page->getUrl('/export/html')); + $resp->assertSee($customHeadContent); } } \ No newline at end of file