Hello community,

here is the log from the commit of package perl-Plack for openSUSE:Factory 
checked in at 2013-11-26 14:41:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Plack (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Plack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Plack"

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Plack/perl-Plack.changes    2013-10-21 
15:14:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Plack.new/perl-Plack.changes       
2013-11-26 14:41:12.000000000 +0100
@@ -1,0 +2,15 @@
+Mon Nov 25 07:39:46 UTC 2013 - [email protected]
+
+- updated to 1.0030
+   [IMPROVEMENTS]
+       - Middleware::LogDispatch stringifies objects (oalders) #427
+       - Encode wide character strings as UTF-8 in HTTP::Server::PSGI #429
+       - Optimize Plack::Response->finalize performance (kazeburo) #433
+       - Optimize mount() performance in Plack::App::URLMap
+
+   [BUG FIXES]
+       - ErrorDocument: remove Content-Encoding and Transfer-Encoding 
(kazeburo) #430
+       - Fix harakiri test hang on win32 (wchristian) #431
+       - Handler::FCGI: Restore --keep-stderr option (mauzo) #432
+
+-------------------------------------------------------------------

Old:
----
  Plack-1.0029.tar.gz

New:
----
  Plack-1.0030.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Plack.spec ++++++
--- /var/tmp/diff_new_pack.VWEhKG/_old  2013-11-26 14:41:13.000000000 +0100
+++ /var/tmp/diff_new_pack.VWEhKG/_new  2013-11-26 14:41:13.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Plack
-Version:        1.0029
+Version:        1.0030
 Release:        0
 %define cpan_name Plack
 Summary:        Perl Superglue for Web frameworks and Web Servers (PSGI 
toolkit)

++++++ Plack-1.0029.tar.gz -> Plack-1.0030.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/Changes new/Plack-1.0030/Changes
--- old/Plack-1.0029/Changes    2013-08-22 23:05:49.000000000 +0200
+++ new/Plack-1.0030/Changes    2013-11-23 08:54:05.000000000 +0100
@@ -1,5 +1,17 @@
 Go to http://github.com/plack/Plack/issues for the roadmap and known issues.
 
+1.0030  2013-11-23 08:54:01 CET
+    [IMPROVEMENTS]
+        - Middleware::LogDispatch stringifies objects (oalders) #427
+        - Encode wide character strings as UTF-8 in HTTP::Server::PSGI #429
+        - Optimize Plack::Response->finalize performance (kazeburo) #433
+        - Optimize mount() performance in Plack::App::URLMap
+
+    [BUG FIXES]
+        - ErrorDocument: remove Content-Encoding and Transfer-Encoding 
(kazeburo) #430
+        - Fix harakiri test hang on win32 (wchristian) #431
+        - Handler::FCGI: Restore --keep-stderr option (mauzo) #432
+
 1.0029  2013-08-22 14:05:44 PDT
     [NEW FEATURES]
         - Plack::Test now has a simpler object-oriented interface that doesn't
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/META.json new/Plack-1.0030/META.json
--- old/Plack-1.0029/META.json  2013-08-22 23:05:49.000000000 +0200
+++ new/Plack-1.0030/META.json  2013-11-23 08:54:05.000000000 +0100
@@ -4,7 +4,7 @@
       "Tatsuhiko Miyagawa"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Milla version v1.0.3, Dist::Zilla version 4.300035, 
CPAN::Meta::Converter version 2.132140",
+   "generated_by" : "Dist::Milla version v1.0.4, Dist::Zilla version 5.006, 
CPAN::Meta::Converter version 2.132830",
    "license" : [
       "perl_5"
    ],
@@ -95,7 +95,7 @@
          "web" : "https://github.com/plack/Plack";
       }
    },
-   "version" : "1.0029",
+   "version" : "1.0030",
    "x_authority" : "cpan:MIYAGAWA",
    "x_contributors" : [
       "Aaron Trevena <[email protected]>",
@@ -105,6 +105,7 @@
       "Andy Wardley <[email protected]>",
       "Aristotle Pagaltzis <[email protected]>",
       "Ask Bj\u00f8rn Hansen <[email protected]>",
+      "Ben Morrow <[email protected]>",
       "Bernhard Graf <[email protected]>",
       "Chia-liang Kao <[email protected]>",
       "Christian Walde <[email protected]>",
@@ -145,6 +146,7 @@
       "Michael G. Schwern <[email protected]>",
       "Nick Wellnhofer <[email protected]>",
       "Nobuo Danjou <[email protected]>",
+      "Olaf Alders <[email protected]>",
       "Oliver Gorwits <[email protected]>",
       "Oliver Paukstadt <[email protected]>",
       "Olivier Mengu\u00e9 <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/META.yml new/Plack-1.0030/META.yml
--- old/Plack-1.0029/META.yml   2013-08-22 23:05:49.000000000 +0200
+++ new/Plack-1.0030/META.yml   2013-11-23 08:54:05.000000000 +0100
@@ -9,7 +9,7 @@
   ExtUtils::MakeMaker: 6.30
   File::ShareDir::Install: 0.03
 dynamic_config: 0
-generated_by: 'Dist::Milla version v1.0.3, Dist::Zilla version 4.300035, 
CPAN::Meta::Converter version 2.132140'
+generated_by: 'Dist::Milla version v1.0.4, Dist::Zilla version 5.006, 
CPAN::Meta::Converter version 2.132830'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -44,7 +44,7 @@
   bugtracker: https://github.com/plack/Plack/issues
   homepage: https://github.com/plack/Plack
   repository: https://github.com/plack/Plack.git
-version: 1.0029
+version: 1.0030
 x_authority: cpan:MIYAGAWA
 x_contributors:
   - 'Aaron Trevena <[email protected]>'
@@ -54,6 +54,7 @@
   - 'Andy Wardley <[email protected]>'
   - 'Aristotle Pagaltzis <[email protected]>'
   - 'Ask Bjørn Hansen <[email protected]>'
+  - 'Ben Morrow <[email protected]>'
   - 'Bernhard Graf <[email protected]>'
   - 'Chia-liang Kao <[email protected]>'
   - 'Christian Walde <[email protected]>'
@@ -94,6 +95,7 @@
   - 'Michael G. Schwern <[email protected]>'
   - 'Nick Wellnhofer <[email protected]>'
   - 'Nobuo Danjou <[email protected]>'
+  - 'Olaf Alders <[email protected]>'
   - 'Oliver Gorwits <[email protected]>'
   - 'Oliver Paukstadt <[email protected]>'
   - 'Olivier Mengué <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/Makefile.PL new/Plack-1.0030/Makefile.PL
--- old/Plack-1.0029/Makefile.PL        2013-08-22 23:05:49.000000000 +0200
+++ new/Plack-1.0030/Makefile.PL        2013-11-23 08:54:05.000000000 +0100
@@ -45,37 +45,38 @@
     "Test::More" => "0.88",
     "Test::Requires" => 0
   },
-  "VERSION" => "1.0029",
+  "VERSION" => "1.0030",
   "test" => {
     "TESTS" => "t/*.t t/HTTP-Message-PSGI/*.t t/HTTP-Server-PSGI/*.t 
t/Plack-Builder/*.t t/Plack-HTTPParser-PP/*.t t/Plack-Handler/*.t 
t/Plack-Loader/*.t t/Plack-MIME/*.t t/Plack-Middleware/*.t 
t/Plack-Middleware/cascade/*.t t/Plack-Middleware/recursive/*.t 
t/Plack-Middleware/stacktrace/*.t t/Plack-Request/*.t t/Plack-Response/*.t 
t/Plack-Runner/*.t t/Plack-TempBuffer/*.t t/Plack-Test/*.t t/Plack-Util/*.t"
   }
 );
 
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
-  my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
-  my $br = $WriteMakefileArgs{BUILD_REQUIRES};
-  for my $mod ( keys %$tr ) {
-    if ( exists $br->{$mod} ) {
-      $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
-    }
-    else {
-      $br->{$mod} = $tr->{$mod};
-    }
-  }
-}
+my %FallbackPrereqs = (
+  "Apache::LogFormat::Compiler" => "0.12",
+  "Devel::StackTrace" => "1.23",
+  "Devel::StackTrace::AsHTML" => "0.11",
+  "File::ShareDir" => "1.00",
+  "Filesys::Notify::Simple" => 0,
+  "HTTP::Body" => "1.06",
+  "HTTP::Message" => "5.814",
+  "HTTP::Tiny" => "0.034",
+  "Hash::MultiValue" => "0.05",
+  "Pod::Usage" => "1.36",
+  "Stream::Buffered" => "0.02",
+  "Test::More" => "0.88",
+  "Test::Requires" => 0,
+  "Test::TCP" => "2.00",
+  "Try::Tiny" => 0,
+  "URI" => "1.59",
+  "parent" => 0
+);
 
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
-  my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM};
-  for my $mod ( keys %$br ) {
-    if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
-    }
-    else {
-      $pp->{$mod} = $br->{$mod};
-    }
-  }
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  delete $WriteMakefileArgs{TEST_REQUIRES};
+  delete $WriteMakefileArgs{BUILD_REQUIRES};
+  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
 }
 
 delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/HTTP/Server/PSGI.pm 
new/Plack-1.0030/lib/HTTP/Server/PSGI.pm
--- old/Plack-1.0029/lib/HTTP/Server/PSGI.pm    2013-08-22 23:05:49.000000000 
+0200
+++ new/Plack-1.0030/lib/HTTP/Server/PSGI.pm    2013-11-23 08:54:05.000000000 
+0100
@@ -280,6 +280,7 @@
 sub write_all {
     my ($self, $sock, $buf, $timeout) = @_;
     return 0 unless defined $buf;
+    _encode($buf);
     my $off = 0;
     while (my $len = length($buf) - $off) {
         my $ret = $self->write_timeout($sock, $buf, $len, $off, $timeout)
@@ -289,6 +290,14 @@
     return length $buf;
 }
 
+# syswrite() will crash when given wide characters
+sub _encode {
+    if ($_[0] =~ /[^\x00-\xff]/) {
+        Carp::carp("Wide character outside byte range in response. Encoding 
data as UTF-8");
+        utf8::encode($_[0]);
+    }
+}
+
 1;
 
 __END__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack/App/URLMap.pm 
new/Plack-1.0030/lib/Plack/App/URLMap.pm
--- old/Plack-1.0029/lib/Plack/App/URLMap.pm    2013-08-22 23:05:49.000000000 
+0200
+++ new/Plack-1.0030/lib/Plack/App/URLMap.pm    2013-11-23 08:54:05.000000000 
+0100
@@ -23,14 +23,14 @@
     }
     $location =~ s!/$!!;
 
-    push @{$self->{_mapping}}, [ $host, $location, $app ];
+    push @{$self->{_mapping}}, [ $host, $location, qr/^\Q$location\E/, $app ];
 }
 
 sub prepare_app {
     my $self = shift;
     # sort by path length
     $self->{_sorted_mapping} = [
-        map  { [ @{$_}[2..4] ] }
+        map  { [ @{$_}[2..5] ] }
         sort { $b->[0] <=> $a->[0] || $b->[1] <=> $a->[1] }
         map  { [ ($_->[0] ? length $_->[0] : 0), length($_->[1]), @$_ ] } 
@{$self->{_mapping}},
     ];
@@ -49,14 +49,14 @@
     }
 
     for my $map (@{ $self->{_sorted_mapping} }) {
-        my($host, $location, $app) = @$map;
+        my($host, $location, $location_re, $app) = @$map;
         my $path = $path_info; # copy
         no warnings 'uninitialized';
         DEBUG && warn "Matching request (Host=$http_host Path=$path) and the 
map (Host=$host Path=$location)\n";
         next unless not defined $host     or
                     $http_host   eq $host or
                     $server_name eq $host;
-        next unless $location eq '' or $path =~ s!^\Q$location\E!!;
+        next unless $location eq '' or $path =~ s!$location_re!!;
         next unless $path eq '' or $path =~ m!^/!;
         DEBUG && warn "-> Matched!\n";
 
@@ -147,6 +147,16 @@
 
 =back
 
+=head1 PERFORMANCE
+
+If you C<map> (or C<mount> with Plack::Builder) N applications,
+Plack::App::URLMap will need to at most iterate through N paths to
+match incoming requests.
+
+It is a good idea to use C<map> only for a known, limited amount of
+applications, since mounting hundreds of applications could affect
+runtime request performance.
+
 =head1 DEBUGGING
 
 You can set the environment variable C<PLACK_URLMAP_DEBUG> to see how
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack/Handler/FCGI.pm 
new/Plack-1.0030/lib/Plack/Handler/FCGI.pm
--- old/Plack-1.0029/lib/Plack/Handler/FCGI.pm  2013-08-22 23:05:49.000000000 
+0200
+++ new/Plack-1.0030/lib/Plack/Handler/FCGI.pm  2013-11-23 08:54:05.000000000 
+0100
@@ -53,8 +53,8 @@
 
     my %env;
     my $request = FCGI::Request(
-        $self->{stdin}, $self->{stdout},
-        ($self->{keep_stderr} ? $self->{stdout} : $self->{stderr}), \%env, 
$sock,
+        $self->{stdin}, $self->{stdout}, $self->{stderr},
+        \%env, $sock,
         ($self->{nointr} ? 0 : &FCGI::FAIL_ACCEPT_ON_INTR),
     );
 
@@ -98,8 +98,8 @@
             'psgi.version'      => [1,1],
             'psgi.url_scheme'   => ($env{HTTPS}||'off') =~ /^(?:on|1)$/i ? 
'https' : 'http',
             'psgi.input'        => $self->{stdin},
-            'psgi.errors'       => $self->{stderr}, # FCGI.pm redirects STDERR 
in Accept() loop, so just print STDERR
-                                                    # print to the correct 
error handle based on keep_stderr
+            'psgi.errors'       => 
+                ($self->{keep_stderr} ? \*STDERR : $self->{stderr}),
             'psgi.multithread'  => Plack::Util::FALSE,
             'psgi.multiprocess' => Plack::Util::TRUE,
             'psgi.run_once'     => Plack::Util::FALSE,
@@ -282,7 +282,7 @@
 
 =item keep-stderr
 
-Send STDERR to STDOUT instead of the webserver
+Send psgi.errors to STDERR instead of to the FCGI error stream.
 
 =item backlog
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack/Middleware/ErrorDocument.pm 
new/Plack-1.0030/lib/Plack/Middleware/ErrorDocument.pm
--- old/Plack-1.0029/lib/Plack/Middleware/ErrorDocument.pm      2013-08-22 
23:05:49.000000000 +0200
+++ new/Plack-1.0030/lib/Plack/Middleware/ErrorDocument.pm      2013-11-23 
08:54:05.000000000 +0100
@@ -61,6 +61,8 @@
         } else {
             my $h = Plack::Util::headers($r->[1]);
             $h->remove('Content-Length');
+            $h->remove('Content-Encoding');
+            $h->remove('Transfer-Encoding');
             $h->set('Content-Type', Plack::MIME->mime_type($path));
 
             open my $fh, "<", $path or die "$path: $!";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack/Middleware/LogDispatch.pm 
new/Plack-1.0030/lib/Plack/Middleware/LogDispatch.pm
--- old/Plack-1.0029/lib/Plack/Middleware/LogDispatch.pm        2013-08-22 
23:05:49.000000000 +0200
+++ new/Plack-1.0030/lib/Plack/Middleware/LogDispatch.pm        2013-11-23 
08:54:05.000000000 +0100
@@ -17,6 +17,11 @@
     $env->{'psgix.logger'} = sub {
         my $args = shift;
         $args->{level} = 'critical' if $args->{level} eq 'fatal';
+
+        if ( ref $args->{message} && ref $args->{message} ne 'CODE' ) {
+            $args->{message} .= q{};
+        }
+
         $self->logger->log(%$args);
     };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack/Request.pm 
new/Plack-1.0030/lib/Plack/Request.pm
--- old/Plack-1.0029/lib/Plack/Request.pm       2013-08-22 23:05:49.000000000 
+0200
+++ new/Plack-1.0030/lib/Plack/Request.pm       2013-11-23 08:54:05.000000000 
+0100
@@ -2,8 +2,7 @@
 use strict;
 use warnings;
 use 5.008_001;
-our $VERSION = '1.0029';
-$VERSION = eval $VERSION;
+our $VERSION = '1.0030';
 
 use HTTP::Headers;
 use Carp ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack/Response.pm 
new/Plack-1.0030/lib/Plack/Response.pm
--- old/Plack-1.0029/lib/Plack/Response.pm      2013-08-22 23:05:49.000000000 
+0200
+++ new/Plack-1.0030/lib/Plack/Response.pm      2013-11-23 08:54:05.000000000 
+0100
@@ -1,8 +1,7 @@
 package Plack::Response;
 use strict;
 use warnings;
-our $VERSION = '1.0029';
-$VERSION = eval $VERSION;
+our $VERSION = '1.0030';
 
 use Plack::Util::Accessor qw(body status);
 use Carp ();
@@ -86,24 +85,20 @@
     my $self = shift;
     Carp::croak "missing status" unless $self->status();
 
-    my $headers = $self->headers->clone;
-    $self->_finalize_cookies($headers);
+    my $headers = $self->headers;
+    my @headers;
+    $headers->scan(sub{
+        my ($k,$v) = @_;
+        $v =~ s/\015\012[\040|\011]+/chr(32)/ge; # replace LWS with a single SP
+        $v =~ s/\015|\012//g; # remove CR and LF since the char is invalid here
+        push @headers, $k, $v;
+    });
+
+    $self->_finalize_cookies(\@headers);
 
     return [
         $self->status,
-        +[
-            map {
-                my $k = $_;
-                map {
-                    my $v = $_;
-                    $v =~ s/\015\012[\040|\011]+/chr(32)/ge; # replace LWS 
with a single SP
-                    $v =~ s/\015|\012//g; # remove CR and LF since the char is 
invalid here
-
-                    ( $k => $v )
-                } $headers->header($_);
-
-            } $headers->header_field_names
-        ],
+        \@headers,
         $self->_body,
     ];
 }
@@ -130,7 +125,7 @@
 
     while (my($name, $val) = each %{$self->cookies}) {
         my $cookie = $self->_bake_cookie($name, $val);
-        $headers->push_header('Set-Cookie' => $cookie);
+        push @$headers, 'Set-Cookie' => $cookie;
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/lib/Plack.pm 
new/Plack-1.0030/lib/Plack.pm
--- old/Plack-1.0029/lib/Plack.pm       2013-08-22 23:05:49.000000000 +0200
+++ new/Plack-1.0030/lib/Plack.pm       2013-11-23 08:54:05.000000000 +0100
@@ -3,8 +3,7 @@
 use strict;
 use warnings;
 use 5.008_001;
-our $VERSION = '1.0029';
-$VERSION = eval $VERSION;
+our $VERSION = '1.0030';
 
 1;
 __END__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/t/HTTP-Server-PSGI/harakiri.t 
new/Plack-1.0030/t/HTTP-Server-PSGI/harakiri.t
--- old/Plack-1.0029/t/HTTP-Server-PSGI/harakiri.t      2013-08-22 
23:05:49.000000000 +0200
+++ new/Plack-1.0030/t/HTTP-Server-PSGI/harakiri.t      2013-11-23 
08:54:05.000000000 +0100
@@ -6,6 +6,8 @@
 use Test::TCP;
 use Test::Requires qw(LWP::UserAgent);
 
+my $ua_timeout = 3;
+
 test_tcp(
     server => sub {
         my $port = shift;
@@ -24,11 +26,11 @@
                 ];
             },
         );
-        sleep 5; # to block
+        sleep $ua_timeout + 2; # to block
     },
     client => sub {
         my $port = shift;
-        my $ua = LWP::UserAgent->new;
+        my $ua = LWP::UserAgent->new( timeout => $ua_timeout );
         my $res = $ua->get("http://127.0.0.1:$port/";);
         ok $res->is_success;
         is $res->code, 200;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Plack-1.0029/t/Plack-Middleware/log_dispatch.t 
new/Plack-1.0030/t/Plack-Middleware/log_dispatch.t
--- old/Plack-1.0029/t/Plack-Middleware/log_dispatch.t  2013-08-22 
23:05:49.000000000 +0200
+++ new/Plack-1.0030/t/Plack-Middleware/log_dispatch.t  2013-11-23 
08:54:05.000000000 +0100
@@ -8,6 +8,12 @@
 use Log::Dispatch;
 use Log::Dispatch::Array;
 
+package Stringify;
+use overload q{""} => sub { 'stringified object' };
+sub new { bless {}, shift }
+
+package main;
+
 my @logs;
 
 my $logger = Log::Dispatch->new;
@@ -19,6 +25,9 @@
 my $app = sub {
     my $env = shift;
     $env->{'psgix.logger'}->({ level => "debug", message => "This is debug" });
+    $env->{'psgix.logger'}->({ level => "info", message => sub { 'code ref' } 
});
+    $env->{'psgix.logger'}->({ level => "notice", message => Stringify->new() 
});
+
     return [ 200, [], [] ];
 };
 
@@ -28,9 +37,15 @@
     my $cb = shift;
     my $res = $cb->(GET "/");
 
-    is @logs, 1;
+    is @logs, 3;
     is $logs[0]->{level}, 'debug';
     is $logs[0]->{message}, 'This is debug';
+
+    is $logs[1]->{level}, 'info';
+    is $logs[1]->{message}, 'code ref';
+
+    is $logs[2]->{level}, 'notice';
+    is $logs[2]->{message}, 'stringified object';
 };
 
 done_testing;

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to