summaryrefslogtreecommitdiffhomepage
path: root/test/perl
diff options
context:
space:
mode:
authorAndrey Zelenkov <zelenkov@nginx.com>2018-02-12 19:32:54 +0300
committerAndrey Zelenkov <zelenkov@nginx.com>2018-02-12 19:32:54 +0300
commite2c3fa630469bf006de5a983910e391c5889430d (patch)
tree2021663f938438db7c18b3bcc87b6402b6d6b5e1 /test/perl
parent9646772a00e50c437e0b3204ce6233b6414e1053 (diff)
downloadunit-e2c3fa630469bf006de5a983910e391c5889430d.tar.gz
unit-e2c3fa630469bf006de5a983910e391c5889430d.tar.bz2
Tests: perl module.
Diffstat (limited to 'test/perl')
-rw-r--r--test/perl/body_array/psgi.pl5
-rw-r--r--test/perl/body_empty/psgi.pl5
-rw-r--r--test/perl/body_io_empty/psgi.pl9
-rw-r--r--test/perl/body_io_file/file1
-rw-r--r--test/perl/body_io_file/psgi.pl7
-rw-r--r--test/perl/errors_print/psgi.pl7
-rw-r--r--test/perl/header_pairs/psgi.pl5
-rw-r--r--test/perl/input_copy/psgi.pl10
-rw-r--r--test/perl/input_read_empty/psgi.pl7
-rw-r--r--test/perl/input_read_offset/psgi.pl7
-rw-r--r--test/perl/query_string/psgi.pl8
-rw-r--r--test/perl/server_port/psgi.pl8
-rw-r--r--test/perl/variables/psgi.pl16
13 files changed, 95 insertions, 0 deletions
diff --git a/test/perl/body_array/psgi.pl b/test/perl/body_array/psgi.pl
new file mode 100644
index 00000000..19c89abb
--- /dev/null
+++ b/test/perl/body_array/psgi.pl
@@ -0,0 +1,5 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ return ['200', ['Content-Length' => '10'], ['012', '345', '678', '9']];
+};
diff --git a/test/perl/body_empty/psgi.pl b/test/perl/body_empty/psgi.pl
new file mode 100644
index 00000000..a05921f4
--- /dev/null
+++ b/test/perl/body_empty/psgi.pl
@@ -0,0 +1,5 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ return ['200', [], []];
+};
diff --git a/test/perl/body_io_empty/psgi.pl b/test/perl/body_io_empty/psgi.pl
new file mode 100644
index 00000000..0a203dec
--- /dev/null
+++ b/test/perl/body_io_empty/psgi.pl
@@ -0,0 +1,9 @@
+use IO::Handle;
+
+my $app = sub {
+ my ($environ) = @_;
+
+ my $io = IO::Handle->new();
+
+ return ['200', [], $io];
+};
diff --git a/test/perl/body_io_file/file b/test/perl/body_io_file/file
new file mode 100644
index 00000000..273a402f
--- /dev/null
+++ b/test/perl/body_io_file/file
@@ -0,0 +1 @@
+body
diff --git a/test/perl/body_io_file/psgi.pl b/test/perl/body_io_file/psgi.pl
new file mode 100644
index 00000000..2612ae18
--- /dev/null
+++ b/test/perl/body_io_file/psgi.pl
@@ -0,0 +1,7 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ open my $io, '<file';
+
+ return ['200', ['Content-Length' => 5], $io];
+};
diff --git a/test/perl/errors_print/psgi.pl b/test/perl/errors_print/psgi.pl
new file mode 100644
index 00000000..e50ec65d
--- /dev/null
+++ b/test/perl/errors_print/psgi.pl
@@ -0,0 +1,7 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ my $result = $environ->{'psgi.errors'}->print('Error in application');
+
+ return ['200', ['Content-Length' => '1'], [$result]];
+};
diff --git a/test/perl/header_pairs/psgi.pl b/test/perl/header_pairs/psgi.pl
new file mode 100644
index 00000000..63d241bc
--- /dev/null
+++ b/test/perl/header_pairs/psgi.pl
@@ -0,0 +1,5 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ return ['200', ['Content-Length', 0, 'blah', 'blah'], []];
+};
diff --git a/test/perl/input_copy/psgi.pl b/test/perl/input_copy/psgi.pl
new file mode 100644
index 00000000..449e4027
--- /dev/null
+++ b/test/perl/input_copy/psgi.pl
@@ -0,0 +1,10 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ open(my $fh, ">&", $environ->{'psgi.input'});
+
+ my $len = int($environ->{'CONTENT_LENGTH'});
+ $fh->read(my $body, $len);
+
+ return ['200', ['Content-Length' => $len], [$body]];
+};
diff --git a/test/perl/input_read_empty/psgi.pl b/test/perl/input_read_empty/psgi.pl
new file mode 100644
index 00000000..caa894f4
--- /dev/null
+++ b/test/perl/input_read_empty/psgi.pl
@@ -0,0 +1,7 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ $len = $environ->{'psgi.input'}->read(my $body, 1024);
+
+ return ['200', ['Content-Length' => $len], [$body]];
+};
diff --git a/test/perl/input_read_offset/psgi.pl b/test/perl/input_read_offset/psgi.pl
new file mode 100644
index 00000000..420b7d89
--- /dev/null
+++ b/test/perl/input_read_offset/psgi.pl
@@ -0,0 +1,7 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ $environ->{'psgi.input'}->read(my $body, 4, 4);
+
+ return ['200', ['Content-Length' => 4], [$body]];
+};
diff --git a/test/perl/query_string/psgi.pl b/test/perl/query_string/psgi.pl
new file mode 100644
index 00000000..87ecc368
--- /dev/null
+++ b/test/perl/query_string/psgi.pl
@@ -0,0 +1,8 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ return ['200', [
+ 'Content-Length' => 0,
+ 'Query-String' => $environ->{'QUERY_STRING'}
+ ], []];
+};
diff --git a/test/perl/server_port/psgi.pl b/test/perl/server_port/psgi.pl
new file mode 100644
index 00000000..49ef1330
--- /dev/null
+++ b/test/perl/server_port/psgi.pl
@@ -0,0 +1,8 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ return ['200', [
+ 'Content-Length' => 0,
+ 'Server-Port' => $environ->{'SERVER_PORT'}
+ ], []];
+};
diff --git a/test/perl/variables/psgi.pl b/test/perl/variables/psgi.pl
new file mode 100644
index 00000000..c0a61b67
--- /dev/null
+++ b/test/perl/variables/psgi.pl
@@ -0,0 +1,16 @@
+my $app = sub {
+ my ($environ) = @_;
+
+ my $len = int($environ->{'CONTENT_LENGTH'});
+ $environ->{'psgi.input'}->read(my $body, $len);
+
+ return ['200', [
+ 'Content-Type' => $environ->{'CONTENT_TYPE'},
+ 'Content-Length' => $len,
+ 'Request-Method' => $environ->{'REQUEST_METHOD'},
+ 'Request-Uri' => $environ->{'REQUEST_URI'},
+ 'Http-Host' => $environ->{'HTTP_HOST'},
+ 'Server-Protocol' => $environ->{'SERVER_PROTOCOL'},
+ 'Custom-Header' => $environ->{'HTTP_CUSTOM_HEADER'}
+ ], [$body]];
+};