ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙuse strict; use warnings; package Test::Deep::Regexp; use Test::Deep::Cmp; use Test::Deep::RegexpMatches; sub init { my $self = shift; my $val = shift; $val = ref $val ? $val : qr/$val/; $self->{val} = $val; if (my $matches = shift) { $self->{matches} = Test::Deep::regexpmatches($matches, $val); $self->{flags} = shift || ""; } } sub descend { my $self = shift; my $got = shift; my $re = $self->{val}; if (my $match_exp = $self->{matches}) { my $flags = $self->{flags}; my @match_got; if ($flags eq "g") { @match_got = $got =~ /$re/g; } else { @match_got = $got =~ /$re/; } if (@match_got) { return Test::Deep::descend(\@match_got, $match_exp); } else { return 0; } } else { return ($got =~ $re) ? 1 : 0; } } sub diag_message { my $self = shift; my $where = shift; return "Using Regexp on $where"; } sub render_stack1 { my $self = shift; my $stack = shift; return "($stack =~ $self->{regex})"; } sub renderExp { my $self = shift; return "$self->{val}"; } sub renderGot { my $self = shift; my $got = shift; if (defined (my $class = Scalar::Util::blessed($got))) { my $ostr = qq{$got}; if ($ostr ne overload::StrVal($got)) { return qq{'$ostr' (instance of $class)}; } } return Test::Deep::render_val($got); } 1;