diff options
Diffstat (limited to 't/tests/Net/Hawk/Utils.t')
-rw-r--r-- | t/tests/Net/Hawk/Utils.t | 30 |
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; |