summaryrefslogtreecommitdiffstats
path: root/debian/vendor-h2o/t/50mimemap.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 21:12:02 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 21:12:02 +0000
commit77e50caaf2ef81cd91075cf836fed0e75718ffb4 (patch)
tree53b7b411290b63192fc9e924a3b6b65cdf67e9d0 /debian/vendor-h2o/t/50mimemap.t
parentAdding upstream version 1.8.3. (diff)
downloaddnsdist-77e50caaf2ef81cd91075cf836fed0e75718ffb4.tar.xz
dnsdist-77e50caaf2ef81cd91075cf836fed0e75718ffb4.zip
Adding debian version 1.8.3-2.debian/1.8.3-2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/vendor-h2o/t/50mimemap.t')
-rw-r--r--debian/vendor-h2o/t/50mimemap.t88
1 files changed, 88 insertions, 0 deletions
diff --git a/debian/vendor-h2o/t/50mimemap.t b/debian/vendor-h2o/t/50mimemap.t
new file mode 100644
index 0000000..c85febd
--- /dev/null
+++ b/debian/vendor-h2o/t/50mimemap.t
@@ -0,0 +1,88 @@
+use strict;
+use warnings;
+use Test::More;
+use t::Util;
+
+my $CURL_CMD = q{curl --silent --show-error --output /dev/null --write-out '%{content_type}'};
+
+plan skip_all => 'curl not found'
+ unless prog_exists('curl');
+
+subtest "basic" => sub {
+ my $server = spawn_h2o(<< 'EOT');
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: t/50mimemap/doc_root
+ /addtypes:
+ file.dir: t/50mimemap/doc_root
+ file.mime.addtypes:
+ application/xhtml+xml: .xhtml
+ /removetypes:
+ file.dir: t/50mimemap/doc_root
+ file.mime.removetypes:
+ - .xhtml
+ /settypes:
+ file.dir: t/50mimemap/doc_root
+ file.mime.settypes:
+ text/xml: .xhtml
+ file.mime.addtypes:
+ application/xml: .xhtml
+ default-type-test:
+ paths:
+ /:
+ file.dir: t/50mimemap/doc_root
+ file.mime.setdefaulttype: application/xhtml+xml
+file.index:
+ - index.xhtml
+EOT
+
+ my $port = $server->{port};
+ my %expected = (
+ '/' => 'application/xml',
+ '/addtypes/' => 'application/xhtml+xml',
+ '/removetypes/' => 'application/octet-stream',
+ '/settypes/' => 'text/xml',
+ );
+
+ for my $path (sort keys %expected) {
+ my $ct = `$CURL_CMD http://127.0.0.1:$port$path`;
+ is $ct, $expected{$path}, "$path";
+ $ct = `$CURL_CMD http://127.0.0.1:$port${path}index.xhtml`;
+ is $ct, $expected{$path}, "${path}index.xhtml";
+ }
+
+ my $ct = `$CURL_CMD --header 'host: default-type-test' http://127.0.0.1:$port/`;
+ is $ct, 'application/xhtml+xml', 'setdefaulttype';
+};
+
+subtest "issue730" => sub {
+ my $server = spawn_h2o(<< 'EOT');
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: t/assets/doc_root
+file.mime.addtypes:
+ "text/plain; charset=mycharset": ".txt"
+EOT
+ my $ct = `$CURL_CMD http://127.0.0.1:$server->{port}/index.txt`;
+ is $ct, "text/plain; charset=mycharset";
+};
+
+subtest "reset mimemap to minimum" => sub {
+ my $server = spawn_h2o(<< 'EOT');
+file.mime.setdefaulttype: "application/octet-stream"
+file.mime.settypes: {}
+hosts:
+ default:
+ paths:
+ /:
+ file.dir: t/assets/doc_root
+EOT
+ my $ct = `$CURL_CMD http://127.0.0.1:$server->{port}/index.txt`;
+ is $ct, "application/octet-stream";
+};
+
+done_testing;