Add more tests with an empty hash on the right of ~~
Rafael Garcia-Suarez [Mon, 23 Mar 2009 14:45:55 +0000 (15:45 +0100)]
pod/perlsyn.pod
t/op/smartmatch.t

index 52a3f87..157b02b 100644 (file)
@@ -688,7 +688,7 @@ entries apply in those cases.
     Any     CodeRef   scalar sub truth          $b->($a)
 
     Hash    Hash      hash keys identical      [sort keys %$a]~~[sort keys %$b]
-    Array   Hash      hash slice existence     @$a == grep {exists $b->{$_}} @$a
+    Array   Hash      hash slice existence[1]  @$a == grep {exists $b->{$_}} @$a
     Regex   Hash      hash key grep[1]         grep /$a/, keys %$b
     undef   Hash      always false (undef can't be a key)
     Any     Hash      hash entry existence     exists $b->{$a}
index a8b387b..d336cfc 100644 (file)
@@ -232,7 +232,7 @@ __DATA__
 # HASH ref against:
 #   - another hash ref
        {}              {}
-!      {}              {1 => 2}
+=!     {}              {1 => 2}
        {1 => 2}        {1 => 2}
        {1 => 2}        {1 => 3}
 !      {1 => 2}        {2 => 3}
@@ -245,7 +245,10 @@ __DATA__
 #  - an array ref
        [keys %main::]  \%::
 !      []              \%::
+!      [""]            {}
+!      []              {}
        [undef]         {"" => 1}
+       [""]            {"" => 1}
        ["foo"]         { foo => 1 }
        ["foo", "bar"]  { foo => 1 }
        ["foo", "bar"]  \%hash
@@ -256,6 +259,8 @@ __DATA__
 #  - a regex
        qr/^(fo[ox])$/          {foo => 1}
 !      qr/[13579]$/            +{0..99}
+!      qr/a*/                  {}
+       qr/a*/                  {b=>2}
 
 #  - a string
        "foo"           +{foo => 1, bar => 2}
@@ -264,6 +269,7 @@ __DATA__
 #  - undef
 !      undef           %hash
 !      undef           +{"" => "empty key"}
+!      undef           {}
 
 # ARRAY ref against:
 #  - another array ref