diff options
author | Patrick Spek <p.spek@tyil.nl> | 2017-04-27 15:01:23 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2017-04-27 15:01:23 +0200 |
commit | c40e6ae736f82f133d89b9b60cd6ff23c7690c6a (patch) | |
tree | 4ee13ad2ee3e2c2c3a6b86621918ae09ab3c2ac2 /t/06-deduce-parser.t | |
parent | d295c55f6e161b6a6227113d2bfe0ca216729a10 (diff) |
Update method sigs, type checking and tests
Diffstat (limited to 't/06-deduce-parser.t')
-rw-r--r-- | t/06-deduce-parser.t | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/t/06-deduce-parser.t b/t/06-deduce-parser.t new file mode 100644 index 0000000..2811d19 --- /dev/null +++ b/t/06-deduce-parser.t @@ -0,0 +1,39 @@ +#! /usr/bin/env perl6 + +use v6.c; +use Test; +use lib "lib"; + +use Config; + +plan 4; + +my $config = Config.new; + +subtest "Unknown parser type" => { + plan 1; + + is $config.get-parser-type("config"), "", "Type for plain file without extension"; +}; + +subtest "Check parser type by file extension" => { + plan 2; + + is $config.get-parser-type("config.yaml"), "yaml", "Should return extension"; + is $config.get-parser-type("config.TOML"), "toml", "Should return lower-cased extension"; +}; + +subtest "Check parser type for edge-cases defined in get-parser-type" => { + plan 1; + + is $config.get-parser-type("config.yml"), "yaml", "yml --> yaml"; +}; + +subtest "Returns correct fully qualified module name" => { + plan 4; + + is $config.get-parser("config"), "Config::Parser::", "Empty parser on unknown type"; + is $config.get-parser("config.yaml"), "Config::Parser::yaml", "Extension when available"; + is $config.get-parser("config.TOML"), "Config::Parser::toml", "Lowercased extension"; + is $config.get-parser("config", "Config::Parser::NULL"), "Config::Parser::NULL", "Given string"; +}; |