aboutsummaryrefslogtreecommitdiff
path: root/t/01-reading.t
diff options
context:
space:
mode:
Diffstat (limited to 't/01-reading.t')
-rw-r--r--t/01-reading.t40
1 files changed, 40 insertions, 0 deletions
diff --git a/t/01-reading.t b/t/01-reading.t
new file mode 100644
index 0000000..0792188
--- /dev/null
+++ b/t/01-reading.t
@@ -0,0 +1,40 @@
+#! /usr/bin/env perl6
+
+use v6.c;
+use Test;
+use lib "lib";
+
+plan 5;
+
+use Config;
+
+my $config = Config.new();
+
+throws-like { $config.read("t/files/none") }, Config::Exception::FileNotFoundException, "Reading nonexisting file";
+throws-like { $config.read("t/files/config") }, Config::Exception::UnknownTypeException, "Reading file of unknown type";
+throws-like { $config.read("t/files/config", "Config::Parser:NoSuchParserForTest") }, Config::Exception::MissingParserException, "Using non-existing parser";
+
+my $hash = {
+ "a" => "a",
+ "b" => {
+ "c" => "test"
+ }
+};
+
+$config.read($hash);
+
+is-deeply $config.get(), $hash, "Correctly sets hash";
+
+$config.read({
+ "b" => {
+ "d" => "another"
+ }
+});
+
+is-deeply $config.get(), {
+ "a" => "a",
+ "b" => {
+ "c" => "test",
+ "d" => "another"
+ }
+}, "Correctly merges new hash into existing config";