aboutsummaryrefslogtreecommitdiff
path: root/t/tests/Net/Hawk/Utils.t
diff options
context:
space:
mode:
Diffstat (limited to 't/tests/Net/Hawk/Utils.t')
-rw-r--r--t/tests/Net/Hawk/Utils.t30
1 files changed, 30 insertions, 0 deletions
diff --git a/t/tests/Net/Hawk/Utils.t b/t/tests/Net/Hawk/Utils.t
new file mode 100644
index 0000000..126450e
--- /dev/null
+++ b/t/tests/Net/Hawk/Utils.t
@@ -0,0 +1,30 @@
+#!perl6
+use v6;
+use Test;
+use Net::Hawk::Utils;
+
+subtest {
+ is(parse_content_type(Str),'','undef -> empty string');
+ is(parse_content_type('text/plain'),'text/plain','simple');
+ is(parse_content_type('text/plain; charset=utf-8'),'text/plain','ignore options');
+};
+
+subtest {
+ throws_like { parse_authorization_header(Str) },
+ Net::Hawk::Errors::UnAuthorized,
+ text => 'no header';
+
+ throws_like { parse_authorization_header('bad') },
+ Net::Hawk::Errors::BadRequest,
+ text => 'invalid header syntax';
+
+ throws_like { parse_authorization_header('hawk: bad') },
+ Net::Hawk::Errors::BadRequest,
+ text => 'Bad header format';
+
+ is_deeply( parse_authorization_header('hawk: id="1"'),
+ { id => '1' },
+ 'ok parse');
+};
+
+done;