File: Catalyst-View-CSV.t

package info (click to toggle)
libcatalyst-view-csv-perl 1.8-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 228 kB
  • sloc: perl: 1,622; sh: 14; makefile: 2
file content (113 lines) | stat: -rw-r--r-- 1,841 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!perl -T

use FindBin;
BEGIN { ( our $bindir ) = ( $FindBin::Bin =~ /^(.*)$/ ) } # Untaint
use lib $bindir."/lib";
use Test::More;
use strict;
use warnings;

BEGIN {
  use_ok ( "Catalyst::Test", "TestApp" );
}

sub filename_is {
  my $url = shift;
  my $filename = shift;

  my $res = request ( $url );
  is ( $res->filename, $filename );
}

{
  my $url = "/literal";
  action_ok ( $url );
  contenttype_is ( $url, "text/csv" );
  filename_is ( $url, "literal.csv" );
  my $content = get ( $url );
  is ( $content, <<"EOF" );
index,entry\r
1,"first entry"\r
2,second\r
3,third\r
4,fourth\r
5,fifth\r
EOF
}

{
  my $url = "/literal/";
  action_ok ( $url );
  contenttype_is ( $url, "text/csv" );
  filename_is ( $url, "literal.csv" );
  my $content = get ( $url );
  is ( $content, <<"EOF" );
index,entry\r
1,"first entry"\r
2,second\r
3,third\r
4,fourth\r
5,fifth\r
EOF
}

{
  my $url = "/db";
  action_ok ( $url );
  contenttype_is ( $url, "text/csv" );
  filename_is ( $url, "db.csv" );
  my $content = get ( $url );
  is ( $content, <<"EOF" );
Name,Age\r
Alan,42\r
Bob,27\r
Charlie,64\r
Dave,12\r
EOF
}

{
  my $url = "/noheader";
  action_ok ( $url );
  contenttype_is ( $url, "text/csv" );
  filename_is ( $url, "noheader.csv" );
  my $content = get ( $url );
  is ( $content, <<"EOF" );
Alan,42\r
Bob,27\r
Charlie,64\r
Dave,12\r
EOF
}

{
  my $url = "/tsv";
  action_ok ( $url );
  contenttype_is ( $url, "text/csv" );
  filename_is ( $url, "tsv.tsv" );
  my $content = get ( $url );
  is ( $content, <<"EOF" );
Name	Age\r
Dave	12\r
Bob	27\r
Alan	42\r
Charlie	64\r
EOF
}

{
  my $url = "/filename";
  action_ok ( $url );
  contenttype_is ( $url, "text/csv" );
  filename_is ( $url, "explicit.txt" );
  my $content = get ( $url );
  is ( $content, <<"EOF" );
Name,Age\r
Dave,12\r
Bob,27\r
Alan,42\r
Charlie,64\r
EOF
}

done_testing();