From 5e8bf0bf167ddb5f0387568c244e44a508350da0 Mon Sep 17 00:00:00 2001 From: swaggboi Date: Thu, 24 Aug 2023 22:13:15 -0400 Subject: [PATCH] Clean-up some stuff --- lib/PostText/Controller/Remark.pm | 2 +- lib/PostText/Controller/Thread.pm | 2 +- t/filename.t | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 t/filename.t diff --git a/lib/PostText/Controller/Remark.pm b/lib/PostText/Controller/Remark.pm index 5061339..c66d7c0 100644 --- a/lib/PostText/Controller/Remark.pm +++ b/lib/PostText/Controller/Remark.pm @@ -12,7 +12,7 @@ sub by_id($self) { unless keys %{$remark}; # Set filename for right-click & save-as behavior - if ($self->stash('format') eq 'txt') { + if ($self->accepts(0, 'txt')) { $self->res->headers->content_disposition( "inline; filename=remark_${remark_id}.txt" ) diff --git a/lib/PostText/Controller/Thread.pm b/lib/PostText/Controller/Thread.pm index 5011098..b258a94 100644 --- a/lib/PostText/Controller/Thread.pm +++ b/lib/PostText/Controller/Thread.pm @@ -76,7 +76,7 @@ sub by_id($self) { unless scalar @{$remarks} || $this_page == $last_page; # Set filename for right-click & save-as behavior - if ($self->stash('format') eq 'txt') { + if ($self->accepts(0, 'txt')) { $self->res->headers->content_disposition( "inline; filename=thread_${thread_id}.txt" ) diff --git a/t/filename.t b/t/filename.t new file mode 100644 index 0000000..79c784b --- /dev/null +++ b/t/filename.t @@ -0,0 +1,17 @@ +use Mojo::Base -strict; +use Test::More; +use Test::Mojo; + +my $t = Test::Mojo->new('PostText'); + +$t->get_ok('/thread/single/1.txt')->status_is(200) + ->header_like('Content-Disposition' => qr/filename=thread_1\.txt/); +$t->get_ok('/thread/single/1')->status_is(200) + ->header_unlike('Content-Disposition' => qr/filename=thread_1\.txt/); + +$t->get_ok('/remark/single/1.txt')->status_is(200) + ->header_like('Content-Disposition' => qr/filename=remark_1\.txt/); +$t->get_ok('/remark/single/1')->status_is(200) + ->header_unlike('Content-Disposition' => qr/filename=remark_1\.txt/); + +done_testing;