aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamantha McVey <samantham@posteo.net>2017-04-25 14:00:33 -0700
committerSamantha McVey <samantham@posteo.net>2017-04-25 14:00:33 -0700
commit6dbd522c277fd60180bc1d068b5fe3b9480549ca (patch)
treeab109a779f476c6b13e8ebf56573b5b3fe0843c7
parent67a34d4225146d2a343ec9e4ff37d50f9c2b43dc (diff)
Fix tests for passing a type object hash
-rw-r--r--lib/Hash/Merge.pm66
-rw-r--r--t/02-empty-source.t6
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/Hash/Merge.pm6 b/lib/Hash/Merge.pm6
index 60551a3..d864b7f 100644
--- a/lib/Hash/Merge.pm6
+++ b/lib/Hash/Merge.pm6
@@ -15,7 +15,11 @@ augment class Hash
#| Use :no-append-array to replace arrays and positionals instead, which will
#| also retain the original type and not convert to an Array
#|
- method merge (%b; Bool:D :$no-append-array = False)
+ multi method merge (Hash:U: %b, Bool:D :$no-append-array = False) {
+ warn "Cannot merge an undefined Hash!";
+ return %b;
+ }
+ multi method merge (Hash:D: %b, Bool:D :$no-append-array = False)
{
hashmerge self, %b, :$no-append-array;
}
diff --git a/t/02-empty-source.t b/t/02-empty-source.t
index 684a98b..b404a63 100644
--- a/t/02-empty-source.t
+++ b/t/02-empty-source.t
@@ -4,7 +4,7 @@ use v6.c;
use lib 'lib';
use Test;
-plan 2;
+plan 3;
use Hash::Merge;
@@ -23,6 +23,6 @@ is-deeply $empty, $hash, "Merge into empty hash";
my Hash $nil;
-$nil.merge($hash);
-is-deeply $nil, $hash, "Merge into uninitialized hash";
+throws-like $nil.merge($hash), Exception, "Merge into uninitialized hash";
+is-deeply $nil.merge($hash), $hash, "Returns supplied hash if it throws";