Hello community,

here is the log from the commit of package perl-Mojolicious for 
openSUSE:Factory checked in at 2020-06-30 22:25:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Mojolicious"

Tue Jun 30 22:25:35 2020 rev:138 rq:817915 version:8.56

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes        
2020-06-21 19:01:05.647953406 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Mojolicious.new.3060/perl-Mojolicious.changes  
    2020-06-30 22:25:37.647998675 +0200
@@ -1,0 +2,9 @@
+Sat Jun 27 03:11:38 UTC 2020 - Tina Müller <timueller+p...@suse.de>
+
+- updated to 8.56
+   see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+  8.56  2020-06-19
+    - Fixed a bug that prevented "% end, begin" to work in Mojo::Template. 
(jberger)
+
+-------------------------------------------------------------------

Old:
----
  Mojolicious-8.55.tar.gz

New:
----
  Mojolicious-8.56.tar.gz

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

Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.kujVEE/_old  2020-06-30 22:25:38.312000697 +0200
+++ /var/tmp/diff_new_pack.kujVEE/_new  2020-06-30 22:25:38.312000697 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Mojolicious
-Version:        8.55
+Version:        8.56
 Release:        0
 %define cpan_name Mojolicious
 Summary:        Real-time web framework

++++++ Mojolicious-8.55.tar.gz -> Mojolicious-8.56.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/Changes new/Mojolicious-8.56/Changes
--- old/Mojolicious-8.55/Changes        2020-06-18 11:35:18.000000000 +0200
+++ new/Mojolicious-8.56/Changes        2020-06-26 22:06:45.000000000 +0200
@@ -1,4 +1,7 @@
 
+8.56  2020-06-19
+  - Fixed a bug that prevented "% end, begin" to work in Mojo::Template. 
(jberger)
+
 8.55  2020-06-18
   - Fixed a regression in Mojo::DOM::CSS that caused some selectors to not be 
valid anymore.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/META.json 
new/Mojolicious-8.56/META.json
--- old/Mojolicious-8.55/META.json      2020-06-18 11:42:20.000000000 +0200
+++ new/Mojolicious-8.56/META.json      2020-06-26 22:07:54.000000000 +0200
@@ -4,7 +4,7 @@
       "Sebastian Riedel <s...@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.46, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "artistic_2"
    ],
@@ -63,6 +63,6 @@
          "web" : "https://webchat.freenode.net/#mojo";
       }
    },
-   "version" : "8.55",
+   "version" : "8.56",
    "x_serialization_backend" : "JSON::PP version 4.04"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/META.yml 
new/Mojolicious-8.56/META.yml
--- old/Mojolicious-8.55/META.yml       2020-06-18 11:42:19.000000000 +0200
+++ new/Mojolicious-8.56/META.yml       2020-06-26 22:07:54.000000000 +0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.46, CPAN::Meta::Converter version 
2.150010'
 license: artistic_2
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -34,5 +34,5 @@
   homepage: https://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/mojolicious/mojo.git
-version: '8.55'
+version: '8.56'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Collection.pm 
new/Mojolicious-8.56/lib/Mojo/Collection.pm
--- old/Mojolicious-8.55/lib/Mojo/Collection.pm 2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojo/Collection.pm 2020-06-19 22:05:37.000000000 
+0200
@@ -44,7 +44,7 @@
 
 sub head {
   my ($self, $size) = @_;
-  return $self->new(@$self) if $size > @$self;
+  return $self->new(@$self)                   if $size > @$self;
   return $self->new(@$self[0 .. ($size - 1)]) if $size >= 0;
   return $self->new(@$self[0 .. ($#$self + $size)]);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/IOLoop/Client.pm 
new/Mojolicious-8.56/lib/Mojo/IOLoop/Client.pm
--- old/Mojolicious-8.55/lib/Mojo/IOLoop/Client.pm      2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojo/IOLoop/Client.pm      2020-06-19 
22:05:40.000000000 +0200
@@ -135,7 +135,7 @@
   my ($self, $args) = @_;
 
   my $handle = $self->{handle};
-  return $self->_try_tls($args) unless $args->{socks_address};
+  return $self->_try_tls($args)                                                
     unless $args->{socks_address};
   return $self->emit(error => 'IO::Socket::Socks 0.64+ required for SOCKS 
support') unless SOCKS;
 
   my %options = (ConnectAddr => $args->{address}, ConnectPort => 
$args->{port});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/IOLoop/Delay.pm 
new/Mojolicious-8.56/lib/Mojo/IOLoop/Delay.pm
--- old/Mojolicious-8.55/lib/Mojo/IOLoop/Delay.pm       2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojo/IOLoop/Delay.pm       2020-06-19 
22:05:41.000000000 +0200
@@ -35,7 +35,7 @@
   }
 
   ($self->{steps} = []) and return $self->resolve(@args) unless 
$self->{counter};
-  $self->ioloop->next_tick($self->begin) unless $self->{pending};
+  $self->ioloop->next_tick($self->begin)                 unless 
$self->{pending};
   return $self;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Message.pm 
new/Mojolicious-8.56/lib/Mojo/Message.pm
--- old/Mojolicious-8.55/lib/Mojo/Message.pm    2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojo/Message.pm    2020-06-19 22:05:35.000000000 
+0200
@@ -272,7 +272,7 @@
     if ($charset) {
       $name     = decode($charset, $name)     // $name     if $name;
       $filename = decode($charset, $filename) // $filename if $filename;
-      $part = decode($charset, $part) // $part unless $upload;
+      $part     = decode($charset, $part)     // $part unless $upload;
     }
 
     push @formdata, [$name, $part, $filename];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Path.pm 
new/Mojolicious-8.56/lib/Mojo/Path.pm
--- old/Mojolicious-8.55/lib/Mojo/Path.pm       2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojo/Path.pm       2020-06-19 22:05:42.000000000 
+0200
@@ -107,7 +107,7 @@
     $path = decode($charset, $path) // $path if $charset;
     $self->{leading_slash}  = $path =~ s!^/!!;
     $self->{trailing_slash} = $path =~ s!/$!!;
-    $self->{parts} = [split '/', $path, -1];
+    $self->{parts}          = [split '/', $path, -1];
   }
 
   return $self->{$name} unless @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Server/CGI.pm 
new/Mojolicious-8.56/lib/Mojo/Server/CGI.pm
--- old/Mojolicious-8.55/lib/Mojo/Server/CGI.pm 2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojo/Server/CGI.pm 2020-06-19 22:05:33.000000000 
+0200
@@ -32,7 +32,7 @@
   my $code = $res->code    || 404;
   my $msg  = $res->message || $res->default_message;
   $res->headers->status("$code $msg") unless $self->nph;
-  return undef unless _write($res, 'get_header_chunk');
+  return undef                        unless _write($res, 'get_header_chunk');
 
   # Response body
   return undef unless $tx->is_empty || _write($res, 'get_body_chunk');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Server/Daemon.pm 
new/Mojolicious-8.56/lib/Mojo/Server/Daemon.pm
--- old/Mojolicious-8.55/lib/Mojo/Server/Daemon.pm      2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojo/Server/Daemon.pm      2020-06-19 
22:05:35.000000000 +0200
@@ -17,7 +17,7 @@
 has ioloop             => sub { Mojo::IOLoop->singleton };
 has keep_alive_timeout => sub { $ENV{MOJO_KEEP_ALIVE_TIMEOUT} // 5 };
 has listen             => sub { [split ',', $ENV{MOJO_LISTEN} || 
'http://*:3000'] };
-has max_requests => 100;
+has max_requests       => 100;
 
 sub DESTROY {
   return if Mojo::Util::_global_destruction();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Server/Prefork.pm 
new/Mojolicious-8.56/lib/Mojo/Server/Prefork.pm
--- old/Mojolicious-8.55/lib/Mojo/Server/Prefork.pm     2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojo/Server/Prefork.pm     2020-06-19 
22:05:34.000000000 +0200
@@ -64,8 +64,8 @@
     while ((my $pid = waitpid -1, WNOHANG) > 0) { $self->emit(reap => 
$pid)->_stopped($pid) }
   };
   local $SIG{INT}  = local $SIG{TERM} = sub { $self->_term };
-  local $SIG{QUIT} = sub                    { $self->_term(1) };
-  local $SIG{TTIN} = sub                    { $self->workers($self->workers + 
1) };
+  local $SIG{QUIT} = sub { $self->_term(1) };
+  local $SIG{TTIN} = sub { $self->workers($self->workers + 1) };
   local $SIG{TTOU} = sub {
     $self->workers > 0 ? $self->workers($self->workers - 1) : return;
     for my $w (values %{$self->{pool}}) { ($w->{graceful} = steady_time) and 
last unless $w->{graceful} }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/Template.pm 
new/Mojolicious-8.56/lib/Mojo/Template.pm
--- old/Mojolicious-8.55/lib/Mojo/Template.pm   2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojo/Template.pm   2020-06-26 21:51:36.000000000 
+0200
@@ -201,7 +201,7 @@
       $blocks[-1] .= 'return Mojo::ByteStream->new($_O) }';
 
       # No following code
-      $blocks[-1] .= ';' if ($next->[1] // '') =~ /^\s*$/;
+      $blocks[-1] .= ';' if $next->[0] ne 'cpst' && ($next->[1] // '') =~ 
/^\s*$/;
     }
 
     # Expression
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/UserAgent/Transactor.pm 
new/Mojolicious-8.56/lib/Mojo/UserAgent/Transactor.pm
--- old/Mojolicious-8.55/lib/Mojo/UserAgent/Transactor.pm       2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojo/UserAgent/Transactor.pm       2020-06-19 
22:05:29.000000000 +0200
@@ -16,7 +16,7 @@
 
 has compressed => sub { $ENV{MOJO_GZIP} // 1 };
 has generators => sub { {form => \&_form, json => \&_json, multipart => 
\&_multipart} };
-has name => 'Mojolicious (Perl)';
+has name       => 'Mojolicious (Perl)';
 
 sub add_generator { $_[0]->generators->{$_[1]} = $_[2] and return $_[0] }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojo/UserAgent.pm 
new/Mojolicious-8.56/lib/Mojo/UserAgent.pm
--- old/Mojolicious-8.55/lib/Mojo/UserAgent.pm  2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojo/UserAgent.pm  2020-06-19 22:05:31.000000000 
+0200
@@ -21,8 +21,8 @@
 has inactivity_timeout => sub { $ENV{MOJO_INACTIVITY_TIMEOUT} // 40 };
 has insecure           => sub { $ENV{MOJO_INSECURE} };
 has [qw(local_address max_response_size)];
-has ioloop => sub { Mojo::IOLoop->new };
-has key    => sub { $ENV{MOJO_KEY_FILE} };
+has ioloop          => sub { Mojo::IOLoop->new };
+has key             => sub { $ENV{MOJO_KEY_FILE} };
 has max_connections => 5;
 has max_redirects   => sub { $ENV{MOJO_MAX_REDIRECTS} || 0 };
 has proxy           => sub { Mojo::UserAgent::Proxy->new };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojolicious/Command/routes.pm 
new/Mojolicious-8.56/lib/Mojolicious/Command/routes.pm
--- old/Mojolicious-8.55/lib/Mojolicious/Command/routes.pm      2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojolicious/Command/routes.pm      2020-06-19 
22:05:49.000000000 +0200
@@ -31,7 +31,7 @@
   push @flags, (my $partial = $route->partial) ? 'D' : '.';
   push @flags, $route->inline       ? 'U' : '.';
   push @flags, $route->is_websocket ? 'W' : '.';
-  push @$row, join('', @flags) if $verbose;
+  push @$row,  join('', @flags) if $verbose;
 
   # Methods
   my $via = $route->via;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojolicious/Routes.pm 
new/Mojolicious-8.56/lib/Mojolicious/Routes.pm
--- old/Mojolicious-8.55/lib/Mojolicious/Routes.pm      2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/Mojolicious/Routes.pm      2020-06-19 
22:05:50.000000000 +0200
@@ -128,7 +128,7 @@
   for my $class (@classes) {
 
     # Failed
-    next unless defined(my $found = $self->_load($class));
+    next                                                        unless 
defined(my $found = $self->_load($class));
     return !$log->debug(qq{Class "$class" is not a controller}) unless $found;
 
     # Success
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/Mojolicious.pm 
new/Mojolicious-8.56/lib/Mojolicious.pm
--- old/Mojolicious-8.55/lib/Mojolicious.pm     2020-06-14 19:41:21.000000000 
+0200
+++ new/Mojolicious-8.56/lib/Mojolicious.pm     2020-06-19 22:05:27.000000000 
+0200
@@ -42,7 +42,7 @@
 has plugins  => sub { Mojolicious::Plugins->new };
 has renderer => sub { Mojolicious::Renderer->new };
 has routes   => sub { Mojolicious::Routes->new };
-has secrets => sub {
+has secrets  => sub {
   my $self = shift;
 
   # Warn developers about insecure default
@@ -58,7 +58,7 @@
 has validator => sub { Mojolicious::Validator->new };
 
 our $CODENAME = 'Supervillain';
-our $VERSION  = '8.55';
+our $VERSION  = '8.56';
 
 sub BUILD_DYNAMIC {
   my ($class, $method, $dyn_methods) = @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/lib/ojo.pm 
new/Mojolicious-8.56/lib/ojo.pm
--- old/Mojolicious-8.55/lib/ojo.pm     2020-06-14 18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/lib/ojo.pm     2020-06-24 21:02:01.000000000 +0200
@@ -22,7 +22,7 @@
   $ua->server->app->hook(around_action => sub { local $_ = $_[1]; $_[0]() });
 
   $ua->max_redirects(10) unless defined $ENV{MOJO_MAX_REDIRECTS};
-  $ua->proxy->detect unless defined $ENV{MOJO_PROXY};
+  $ua->proxy->detect     unless defined $ENV{MOJO_PROXY};
 
   # The ojo DSL
   monkey_patch $caller,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/asset.t 
new/Mojolicious-8.56/t/mojo/asset.t
--- old/Mojolicious-8.55/t/mojo/asset.t 2020-06-14 18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojo/asset.t 2020-06-19 22:06:16.000000000 +0200
@@ -287,7 +287,7 @@
   ok -e $path, 'file exists';
   is $file->slurp, 'Fork test!', 'right content';
   croak "Can't fork: $!" unless defined(my $pid = fork);
-  exit 0 unless $pid;
+  exit 0                 unless $pid;
   waitpid $pid, 0 if $pid;
   ok -e $path, 'file still exists';
   is $file->slurp, 'Fork test!', 'right content';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/bytestream.t 
new/Mojolicious-8.56/t/mojo/bytestream.t
--- old/Mojolicious-8.55/t/mojo/bytestream.t    2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/t/mojo/bytestream.t    2020-06-19 22:06:08.000000000 
+0200
@@ -52,8 +52,7 @@
 is b(' la la la ')->trim, 'la la la', 'right trimmed result';
 
 # md5_bytes
-is unpack('H*', b('foo bar baz ♥')->encode->md5_bytes), 
'a740aeb6e066f158cbf19fd92e890d2d',
-  'right binary md5 checksum';
+is unpack('H*', b('foo bar baz ♥')->encode->md5_bytes), 
'a740aeb6e066f158cbf19fd92e890d2d', 'right binary md5 checksum';
 is unpack('H*', b('foo bar baz ♥')->encode('UTF-8')->md5_bytes), 
'a740aeb6e066f158cbf19fd92e890d2d',
   'right binary md5 checksum';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/dom.t 
new/Mojolicious-8.56/t/mojo/dom.t
--- old/Mojolicious-8.55/t/mojo/dom.t   2020-06-18 11:33:27.000000000 +0200
+++ new/Mojolicious-8.56/t/mojo/dom.t   2020-06-19 22:06:05.000000000 +0200
@@ -381,17 +381,17 @@
   is $dom->at(qq{html [id="\\\n\\2603 x"]})->text,      'Snowman', 'right 
text';
   is $dom->at(qq{html [id="\\\n\\002603x"]})->text,     'Snowman', 'right 
text';
   is $dom->at(qq{html [id="\\\\2603 x"]})->text,        'Snowman', 'right 
text';
-  is $dom->at('#☃x')->text,                           'Snowman', 'right text';
-  is $dom->at('div#☃x')->text,                        'Snowman', 'right text';
-  is $dom->at('html div#☃x')->text,                   'Snowman', 'right text';
-  is $dom->at('[id^="☃"]')->text,                     'Snowman', 'right text';
-  is $dom->at('div[id^="☃"]')->text,                  'Snowman', 'right text';
-  is $dom->at('html div[id^="☃"]')->text,             'Snowman', 'right text';
-  is $dom->at('html > div[id^="☃"]')->text,           'Snowman', 'right text';
-  is $dom->at('[id^=☃]')->text,                       'Snowman', 'right text';
-  is $dom->at('div[id^=☃]')->text,                    'Snowman', 'right text';
-  is $dom->at('html div[id^=☃]')->text,               'Snowman', 'right text';
-  is $dom->at('html > div[id^=☃]')->text,             'Snowman', 'right text';
+  is $dom->at('#☃x')->text,                             'Snowman', 'right 
text';
+  is $dom->at('div#☃x')->text,                          'Snowman', 'right 
text';
+  is $dom->at('html div#☃x')->text,                     'Snowman', 'right 
text';
+  is $dom->at('[id^="☃"]')->text,                       'Snowman', 'right 
text';
+  is $dom->at('div[id^="☃"]')->text,                    'Snowman', 'right 
text';
+  is $dom->at('html div[id^="☃"]')->text,               'Snowman', 'right 
text';
+  is $dom->at('html > div[id^="☃"]')->text,             'Snowman', 'right 
text';
+  is $dom->at('[id^=☃]')->text,                         'Snowman', 'right 
text';
+  is $dom->at('div[id^=☃]')->text,                      'Snowman', 'right 
text';
+  is $dom->at('html div[id^=☃]')->text,                 'Snowman', 'right 
text';
+  is $dom->at('html > div[id^=☃]')->text,               'Snowman', 'right 
text';
   is $dom->at(".\\\n\\002665")->text,                   'Heart',   'right 
text';
   is $dom->at('.\\2665')->text,                         'Heart',   'right 
text';
   is $dom->at("html .\\\n\\002665")->text,              'Heart',   'right 
text';
@@ -402,26 +402,26 @@
   is $dom->at(qq{[class\$="\\2665"]})->text,            'Heart',   'right 
text';
   is $dom->at('.x')->text,                              'Heart',   'right 
text';
   is $dom->at('html .x')->text,                         'Heart',   'right 
text';
-  is $dom->at('.♥')->text,                            'Heart',   'right text';
-  is $dom->at('html .♥')->text,                       'Heart',   'right text';
-  is $dom->at('div.♥')->text,                         'Heart',   'right text';
-  is $dom->at('html div.♥')->text,                    'Heart',   'right text';
-  is $dom->at('[class$="♥"]')->text,                  'Heart',   'right text';
-  is $dom->at('div[class$="♥"]')->text,               'Heart',   'right text';
-  is $dom->at('html div[class$="♥"]')->text,          'Heart',   'right text';
-  is $dom->at('html > div[class$="♥"]')->text,        'Heart',   'right text';
-  is $dom->at('[class$=♥]')->text,                    'Heart',   'right text';
-  is $dom->at('div[class$=♥]')->text,                 'Heart',   'right text';
-  is $dom->at('html div[class$=♥]')->text,            'Heart',   'right text';
-  is $dom->at('html > div[class$=♥]')->text,          'Heart',   'right text';
-  is $dom->at('[class~="♥"]')->text,                  'Heart',   'right text';
-  is $dom->at('div[class~="♥"]')->text,               'Heart',   'right text';
-  is $dom->at('html div[class~="♥"]')->text,          'Heart',   'right text';
-  is $dom->at('html > div[class~="♥"]')->text,        'Heart',   'right text';
-  is $dom->at('[class~=♥]')->text,                    'Heart',   'right text';
-  is $dom->at('div[class~=♥]')->text,                 'Heart',   'right text';
-  is $dom->at('html div[class~=♥]')->text,            'Heart',   'right text';
-  is $dom->at('html > div[class~=♥]')->text,          'Heart',   'right text';
+  is $dom->at('.♥')->text,                              'Heart',   'right 
text';
+  is $dom->at('html .♥')->text,                         'Heart',   'right 
text';
+  is $dom->at('div.♥')->text,                           'Heart',   'right 
text';
+  is $dom->at('html div.♥')->text,                      'Heart',   'right 
text';
+  is $dom->at('[class$="♥"]')->text,                    'Heart',   'right 
text';
+  is $dom->at('div[class$="♥"]')->text,                 'Heart',   'right 
text';
+  is $dom->at('html div[class$="♥"]')->text,            'Heart',   'right 
text';
+  is $dom->at('html > div[class$="♥"]')->text,          'Heart',   'right 
text';
+  is $dom->at('[class$=♥]')->text,                      'Heart',   'right 
text';
+  is $dom->at('div[class$=♥]')->text,                   'Heart',   'right 
text';
+  is $dom->at('html div[class$=♥]')->text,              'Heart',   'right 
text';
+  is $dom->at('html > div[class$=♥]')->text,            'Heart',   'right 
text';
+  is $dom->at('[class~="♥"]')->text,                    'Heart',   'right 
text';
+  is $dom->at('div[class~="♥"]')->text,                 'Heart',   'right 
text';
+  is $dom->at('html div[class~="♥"]')->text,            'Heart',   'right 
text';
+  is $dom->at('html > div[class~="♥"]')->text,          'Heart',   'right 
text';
+  is $dom->at('[class~=♥]')->text,                      'Heart',   'right 
text';
+  is $dom->at('div[class~=♥]')->text,                   'Heart',   'right 
text';
+  is $dom->at('html div[class~=♥]')->text,              'Heart',   'right 
text';
+  is $dom->at('html > div[class~=♥]')->text,            'Heart',   'right 
text';
   is $dom->at('[class~="x"]')->text,                    'Heart',   'right 
text';
   is $dom->at('div[class~="x"]')->text,                 'Heart',   'right 
text';
   is $dom->at('html div[class~="x"]')->text,            'Heart',   'right 
text';
@@ -431,8 +431,8 @@
   is $dom->at('html div[class~=x]')->text,              'Heart',   'right 
text';
   is $dom->at('html > div[class~=x]')->text,            'Heart',   'right 
text';
   is $dom->at('html'), $html, 'right result';
-  is $dom->at('#☃x')->parent,     $html, 'right result';
-  is $dom->at('#☃x')->root,       $html, 'right result';
+  is $dom->at('#☃x')->parent,       $html, 'right result';
+  is $dom->at('#☃x')->root,         $html, 'right result';
   is $dom->children('html')->first, $html, 'right result';
   is $dom->to_string, $html, 'right result';
   is $dom->content,   $html, 'right result';
@@ -1250,25 +1250,25 @@
   is $dom->at('p + div')->text,               'G', 'right text';
   is $dom->at('ul + h1 + p + p + div')->text, 'G', 'right text';
   is $dom->at('ul + h1 ~ p + div')->text,     'G', 'right text';
-  is $dom->at('h1 ~ #♥')->text,             'E', 'right text';
-  is $dom->at('h1 + #♥')->text,             'E', 'right text';
-  is $dom->at('#♥~#☃')->text,             'F', 'right text';
-  is $dom->at('#♥+#☃')->text,             'F', 'right text';
-  is $dom->at('#♥+#☃>b')->text,           'H', 'right text';
+  is $dom->at('h1 ~ #♥')->text,               'E', 'right text';
+  is $dom->at('h1 + #♥')->text,               'E', 'right text';
+  is $dom->at('#♥~#☃')->text,                 'F', 'right text';
+  is $dom->at('#♥+#☃')->text,                 'F', 'right text';
+  is $dom->at('#♥+#☃>b')->text,               'H', 'right text';
   is $dom->at('#♥ > #☃'), undef, 'no result';
   is $dom->at('#♥ #☃'),   undef, 'no result';
   is $dom->at('#♥ + #☃ + :nth-last-child(1)')->text,  'G', 'right text';
   is $dom->at('#♥ ~ #☃ + :nth-last-child(1)')->text,  'G', 'right text';
   is $dom->at('#♥ + #☃ ~ :nth-last-child(1)')->text,  'G', 'right text';
   is $dom->at('#♥ ~ #☃ ~ :nth-last-child(1)')->text,  'G', 'right text';
-  is $dom->at('#♥ + :nth-last-child(2)')->text,         'F', 'right text';
-  is $dom->at('#♥ ~ :nth-last-child(2)')->text,         'F', 'right text';
+  is $dom->at('#♥ + :nth-last-child(2)')->text,       'F', 'right text';
+  is $dom->at('#♥ ~ :nth-last-child(2)')->text,       'F', 'right text';
   is $dom->at('#♥ + #☃ + *:nth-last-child(1)')->text, 'G', 'right text';
   is $dom->at('#♥ ~ #☃ + *:nth-last-child(1)')->text, 'G', 'right text';
   is $dom->at('#♥ + #☃ ~ *:nth-last-child(1)')->text, 'G', 'right text';
   is $dom->at('#♥ ~ #☃ ~ *:nth-last-child(1)')->text, 'G', 'right text';
-  is $dom->at('#♥ + *:nth-last-child(2)')->text,        'F', 'right text';
-  is $dom->at('#♥ ~ *:nth-last-child(2)')->text,        'F', 'right text';
+  is $dom->at('#♥ + *:nth-last-child(2)')->text,      'F', 'right text';
+  is $dom->at('#♥ ~ *:nth-last-child(2)')->text,      'F', 'right text';
 };
 
 subtest 'Scoped selectors' => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/log.t 
new/Mojolicious-8.56/t/mojo/log.t
--- old/Mojolicious-8.55/t/mojo/log.t   2020-06-14 18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojo/log.t   2020-06-19 22:06:10.000000000 +0200
@@ -18,7 +18,7 @@
 undef $log;
 my $content = decode 'UTF-8', path($path)->slurp;
 like $content,   qr/\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{5}] \[\d+\] 
\[error\] Works/, 'right error message';
-like $content,   qr/\[.*\] \[\d+\] \[fatal\] I ♥ Mojolicious/,                 
           'right fatal message';
+like $content,   qr/\[.*\] \[\d+\] \[fatal\] I ♥ Mojolicious/,                 
             'right fatal message';
 like $content,   qr/\[.*\] \[\d+\] \[error\] This too/,                        
             'right error message';
 unlike $content, qr/\[.*\] \[\d+\] \[debug\] Does not work/,                   
             'no debug message';
 unlike $content, qr/\[.*\] \[\d+\] \[debug\] And this\ntoo\n/,                 
             'right debug message';
@@ -35,18 +35,17 @@
   $log->debug(sub { return 'And this', 'too' });
 }
 $content = decode 'UTF-8', $buffer;
-like $content, qr/\[.*\] \[error\] Just works\n/,        'right error message';
+like $content, qr/\[.*\] \[error\] Just works\n/,      'right error message';
 like $content, qr/\[.*\] \[fatal\] I ♥ Mojolicious\n/, 'right fatal message';
-like $content, qr/\[.*\] \[debug\] Works too\n/,         'right debug message';
-like $content, qr/\[.*\] \[debug\] And this\ntoo\n/,     'right debug message';
+like $content, qr/\[.*\] \[debug\] Works too\n/,       'right debug message';
+like $content, qr/\[.*\] \[debug\] And this\ntoo\n/,   'right debug message';
 
 # Formatting
 $log = Mojo::Log->new;
 like $log->format->(time, 'debug', 'Test 123'), qr/^\[.*\] \[debug\] Test 
123\n$/, 'right format';
 like $log->format->(time, 'debug', qw(Test 1 2 3)), qr/^\[.*\] \[debug\] 
Test\n1\n2\n3\n$/, 'right format';
-like $log->format->(time, 'error', 'I ♥ Mojolicious'), qr/^\[.*\] \[error\] I 
♥ Mojolicious\n$/, 'right format';
-like $log->format->(CORE::time, 'error', 'I ♥ Mojolicious'), qr/^\[.*\] 
\[error\] I ♥ Mojolicious\n$/,
-  'right format';
+like $log->format->(time,       'error', 'I ♥ Mojolicious'), qr/^\[.*\] 
\[error\] I ♥ Mojolicious\n$/, 'right format';
+like $log->format->(CORE::time, 'error', 'I ♥ Mojolicious'), qr/^\[.*\] 
\[error\] I ♥ Mojolicious\n$/, 'right format';
 $log->format(sub {
   my ($time, $level, @lines) = @_;
   return join ':', $level, $time, @lines;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/path.t 
new/Mojolicious-8.56/t/mojo/path.t
--- old/Mojolicious-8.55/t/mojo/path.t  2020-06-14 18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojo/path.t  2020-06-19 22:06:01.000000000 +0200
@@ -115,13 +115,13 @@
 ok $path->contains('/0'), 'contains path';
 ok !$path->contains('/0/0'), 'does not contain path';
 $path = Mojo::Path->new('/0/♥.html');
-ok $path->contains('/'),           'contains path';
-ok $path->contains('/0'),          'contains path';
+ok $path->contains('/'),         'contains path';
+ok $path->contains('/0'),        'contains path';
 ok $path->contains('/0/♥.html'), 'contains path';
-ok !$path->contains('/0/♥'),    'does not contain path';
+ok !$path->contains('/0/♥'),      'does not contain path';
 ok !$path->contains('/0/0.html'), 'does not contain path';
 ok !$path->contains('/0.html'),   'does not contain path';
-ok !$path->contains('/♥.html'), 'does not contain path';
+ok !$path->contains('/♥.html'),   'does not contain path';
 
 # Merge
 $path = Mojo::Path->new('/foo');
@@ -234,7 +234,7 @@
 is "$path", '/foob%E4r', 'right path';
 is $path->to_string,     '/foob%E4r', 'right path';
 is $path->to_abs_string, '/foob%E4r', 'right absolute path';
-is $path->to_route,      '/foobär',  'right route';
+is $path->to_route,      '/foobär',   'right route';
 is $path->clone->to_string, '/foob%E4r', 'right path';
 
 # No charset
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/request.t 
new/Mojolicious-8.56/t/mojo/request.t
--- old/Mojolicious-8.55/t/mojo/request.t       2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/t/mojo/request.t       2020-06-19 22:06:13.000000000 
+0200
@@ -1789,8 +1789,8 @@
 
 # Chrome 5 multipart/form-data request (UTF-8)
 $req = Mojo::Message::Request->new;
-my ($fname, $sname, $sex, $avatar, $submit) = map { encode 'UTF-8', $_ } 
'Иван', 'Иванов', 'мужской',
-  'аватар.jpg', 'Сохранить';
+my ($fname, $sname, $sex, $avatar, $submit) = map { encode 'UTF-8', $_ } 
'Иван', 'Иванов', 'мужской', 'аватар.jpg',
+  'Сохранить';
 my $chrome
   = "------WebKitFormBoundaryYGjwdkpB6ZLCZQbX\x0d\x0a"
   . "Content-Disposition: form-data; name=\"fname\"\x0d\x0a\x0d\x0a"
@@ -1835,24 +1835,24 @@
 is $req->cookie('mojolicious')->value, 
'BAcIMTIzNDU2NzgECAgIAwIAAAAXDGFsZXgudm9yb25vdgQAAAB1c2VyBp6FjksAAAAABwA'
   . 'AAGV4cGlyZXM=--1641adddfe885276cda0deb7475f153a', 'right value';
 like $req->headers->content_type, qr!multipart/form-data!, 'right 
"Content-Type" value';
-is $req->param('fname'),  'Иван',           'right value';
-is $req->param('sname'),  'Иванов',       'right value';
-is $req->param('sex'),    'мужской',     'right value';
-is $req->param('bdate'),  '16.02.1987',         'right value';
-is $req->param('phone'),  '1234567890',         'right value';
-is $req->param('submit'), 'Сохранить', 'right value';
+is $req->param('fname'),  'Иван',       'right value';
+is $req->param('sname'),  'Иванов',     'right value';
+is $req->param('sex'),    'мужской',    'right value';
+is $req->param('bdate'),  '16.02.1987', 'right value';
+is $req->param('phone'),  '1234567890', 'right value';
+is $req->param('submit'), 'Сохранить',  'right value';
 my $upload = $req->upload('avatar');
 is $upload->isa('Mojo::Upload'), 1, 'right upload';
 is $upload->headers->content_type, 'image/jpeg', 'right "Content-Type" value';
 is $upload->filename, 'аватар.jpg', 'right filename';
-is $upload->size,     4,                  'right size';
-is $upload->slurp,    '1234',             'right content';
+is $upload->size,     4,            'right size';
+is $upload->slurp,    '1234',       'right content';
 is $req->content->parts->[0]->asset->slurp, $fname, 'right content';
 
 # Firefox 3.5.8 multipart/form-data request (UTF-8)
 $req = Mojo::Message::Request->new;
-($fname, $sname, $sex, $avatar, $submit) = map { encode 'UTF-8', $_ } 'Иван', 
'Иванов', 'мужской',
-  'аватар.jpg', 'Сохранить';
+($fname, $sname, $sex, $avatar, $submit) = map { encode 'UTF-8', $_ } 'Иван', 
'Иванов', 'мужской', 'аватар.jpg',
+  'Сохранить';
 my $firefox
   = "-----------------------------213090722714721300002030499922\x0d\x0a"
   . "Content-Disposition: form-data; name=\"fname\"\x0d\x0a\x0d\x0a"
@@ -1901,24 +1901,24 @@
 is $req->cookie('mojolicious')->value, 
'BAcIMTIzNDU2NzgECAgIAwIAAAAXDGFsZXgudm9yb25vdgQAAAB1c2VyBiWFjksAAAAABwA'
   . 'AAGV4cGlyZXM=--cd933a37999e0fa8d7804205e89193a7', 'right value';
 like $req->headers->content_type, qr!multipart/form-data!, 'right 
"Content-Type" value';
-is $req->param('fname'),  'Иван',           'right value';
-is $req->param('sname'),  'Иванов',       'right value';
-is $req->param('sex'),    'мужской',     'right value';
-is $req->param('bdate'),  '16.02.1987',         'right value';
-is $req->param('phone'),  '1234567890',         'right value';
-is $req->param('submit'), 'Сохранить', 'right value';
+is $req->param('fname'),  'Иван',       'right value';
+is $req->param('sname'),  'Иванов',     'right value';
+is $req->param('sex'),    'мужской',    'right value';
+is $req->param('bdate'),  '16.02.1987', 'right value';
+is $req->param('phone'),  '1234567890', 'right value';
+is $req->param('submit'), 'Сохранить',  'right value';
 $upload = $req->upload('avatar');
 is $upload->isa('Mojo::Upload'), 1, 'right upload';
 is $upload->headers->content_type, 'image/jpeg', 'right "Content-Type" value';
 is $upload->filename, 'аватар.jpg', 'right filename';
-is $upload->size,     4,                  'right size';
-is $upload->slurp,    '1234',             'right content';
+is $upload->size,     4,            'right size';
+is $upload->slurp,    '1234',       'right content';
 is $req->content->parts->[0]->asset->slurp, $fname, 'right content';
 
 # Opera 9.8 multipart/form-data request (UTF-8)
 $req = Mojo::Message::Request->new;
-($fname, $sname, $sex, $avatar, $submit) = map { encode 'UTF-8', $_ } 'Иван', 
'Иванов', 'мужской',
-  'аватар.jpg', 'Сохранить';
+($fname, $sname, $sex, $avatar, $submit) = map { encode 'UTF-8', $_ } 'Иван', 
'Иванов', 'мужской', 'аватар.jpg',
+  'Сохранить';
 my $opera
   = "------------IWq9cR9mYYG668xwSn56f0\x0d\x0a"
   . "Content-Disposition: form-data; name=\"fname\"\x0d\x0a\x0d\x0a"
@@ -1963,18 +1963,18 @@
 is $req->cookie('mojolicious')->value, 
'BAcIMTIzNDU2NzgECAgIAwIAAAAXDGFsZXgudm9yb25vdgQAAAB1c2VyBhaIjksAAAAABwA'
   . 'AAGV4cGlyZXM=--78a58a94f98ae5b75a489be1189f2672', 'right value';
 like $req->headers->content_type, qr!multipart/form-data!, 'right 
"Content-Type" value';
-is $req->param('fname'),  'Иван',           'right value';
-is $req->param('sname'),  'Иванов',       'right value';
-is $req->param('sex'),    'мужской',     'right value';
-is $req->param('bdate'),  '16.02.1987',         'right value';
-is $req->param('phone'),  '1234567890',         'right value';
-is $req->param('submit'), 'Сохранить', 'right value';
+is $req->param('fname'),  'Иван',       'right value';
+is $req->param('sname'),  'Иванов',     'right value';
+is $req->param('sex'),    'мужской',    'right value';
+is $req->param('bdate'),  '16.02.1987', 'right value';
+is $req->param('phone'),  '1234567890', 'right value';
+is $req->param('submit'), 'Сохранить',  'right value';
 $upload = $req->upload('avatar');
 is $upload->isa('Mojo::Upload'), 1, 'right upload';
 is $upload->headers->content_type, 'image/jpeg', 'right "Content-Type" value';
 is $upload->filename, 'аватар.jpg', 'right filename';
-is $upload->size,     4,                  'right size';
-is $upload->slurp,    '1234',             'right content';
+is $upload->size,     4,            'right size';
+is $upload->slurp,    '1234',       'right content';
 is $req->content->parts->[0]->asset->slurp, $fname, 'right content';
 
 # Firefox 14 multipart/form-data request (UTF-8)
@@ -2005,7 +2005,7 @@
 is $req->version,     '1.1', 'right version';
 is $req->url,         '/foo', 'right URL';
 like $req->headers->content_type, qr!multipart/form-data!, 'right 
"Content-Type" value';
-is $req->upload('☃')->name,     '☃',              'right name';
+is $req->upload('☃')->name,     '☃',             'right name';
 is $req->upload('☃')->filename, 'foo bär ☃.txt', 'right filename';
 is $req->upload('☃')->headers->content_type, 'text/plain', 'right 
"Content-Type" value';
 is $req->upload('☃')->asset->size,           8,            'right size';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/template.t 
new/Mojolicious-8.56/t/mojo/template.t
--- old/Mojolicious-8.55/t/mojo/template.t      2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/t/mojo/template.t      2020-06-26 21:51:36.000000000 
+0200
@@ -575,6 +575,19 @@
 EOF
 is $output, " \n    2\n\n    3\n\n    4\n", 'block loop';
 
+subtest 'End and begin in the same perl line' => sub {
+  my $concat = 'no warnings "redefine"; sub concat { $_[0]->() . $_[1]->() }';
+  my $mt = Mojo::Template->new(prepend => $concat);
+  my $output = $mt->render(<<'  EOF');
+  %= concat begin
+    1
+  % end, begin
+    2
+  % end
+  EOF
+  is $output, "  \n    1\n    2\n", 'end, begin';
+};
+
 # Strict
 $output = Mojo::Template->new->render('% $foo = 1;');
 isa_ok $output, 'Mojo::Exception', 'right exception';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/transactor.t 
new/Mojolicious-8.56/t/mojo/transactor.t
--- old/Mojolicious-8.55/t/mojo/transactor.t    2020-06-14 18:18:32.000000000 
+0200
+++ new/Mojolicious-8.56/t/mojo/transactor.t    2020-06-19 22:06:14.000000000 
+0200
@@ -191,8 +191,9 @@
 is $tx->req->param('♥'), '☃', 'right value';
 
 # Multipart form (shift_jis)
-$tx = $t->tx(POST => 'http://example.com/foo' => {'Content-Type' => 
'multipart/form-data'} => form =>
-    {'やった' => 'やった'} => charset => 'shift_jis');
+$tx
+  = $t->tx(POST => 'http://example.com/foo' => {'Content-Type' => 
'multipart/form-data'} => form => {'やった' => 'やった'} =>
+    charset => 'shift_jis');
 is $tx->req->url->to_abs, 'http://example.com/foo', 'right URL';
 is $tx->req->method, 'POST', 'right method';
 is $tx->req->headers->content_type, 'multipart/form-data', 'right 
"Content-Type" value';
@@ -285,8 +286,8 @@
 is $tx->req->content->parts->[0]->asset->slurp,                   'snowman',   
 'right part';
 is $tx->req->content->parts->[1], undef, 'no more parts';
 is $tx->req->upload('%22☃%22')->filename, '%22☃%22.jpg', 'right filename';
-is $tx->req->upload('%22☃%22')->size,     7,               'right size';
-is $tx->req->upload('%22☃%22')->slurp,    'snowman',       'right content';
+is $tx->req->upload('%22☃%22')->size,     7,             'right size';
+is $tx->req->upload('%22☃%22')->slurp,    'snowman',     'right content';
 
 # Multipart form with multiple uploads sharing the same name
 $tx = $t->tx(POST => 'http://example.com/foo' => form =>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/url.t 
new/Mojolicious-8.56/t/mojo/url.t
--- old/Mojolicious-8.55/t/mojo/url.t   2020-06-14 18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojo/url.t   2020-06-19 22:06:09.000000000 +0200
@@ -333,15 +333,15 @@
 is "$url", 'http://xn--bcher-kva.xn--bcher-kva.xn--bcher-kva.ch:3000/foo', 
'right format';
 $url = Mojo::URL->new->scheme('http')->ihost('xn--n3h.xn--n3h.net');
 is $url->scheme, 'http',                'right scheme';
-is $url->host,   '☃.☃.net',         'right host';
+is $url->host,   '☃.☃.net',             'right host';
 is $url->ihost,  'xn--n3h.xn--n3h.net', 'right internationalized host';
 is "$url", 'http://xn--n3h.xn--n3h.net', 'right format';
 
 # IDNA (escaped userinfo and host)
 $url = Mojo::URL->new('https://%E2%99%A5:%E2%99%A5@kr%E4ih.com:3000');
-is $url->userinfo, '♥:♥',          'right userinfo';
-is $url->username, '♥',              'right username';
-is $url->password, '♥',              'right password';
+is $url->userinfo, '♥:♥',              'right userinfo';
+is $url->username, '♥',                'right username';
+is $url->password, '♥',                'right password';
 is $url->host,     "kr\xe4ih.com",     'right host';
 is $url->ihost,    'xn--krih-moa.com', 'right internationalized host';
 is $url->port,     3000,               'right port';
@@ -648,7 +648,7 @@
 # Trailing dot
 $url = Mojo::URL->new('http://☃.net./♥');
 is $url->ihost, 'xn--n3h.net.', 'right internationalized host';
-is $url->host,  '☃.net.',     'right host';
+is $url->host,  '☃.net.',       'right host';
 is "$url", 'http://xn--n3h.net./%E2%99%A5', 'right format';
 
 # No charset
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojo/util.t 
new/Mojolicious-8.56/t/mojo/util.t
--- old/Mojolicious-8.55/t/mojo/util.t  2020-06-14 18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojo/util.t  2020-06-19 22:06:14.000000000 +0200
@@ -388,8 +388,8 @@
 ok !secure_compare('♥',   '♥0'),  'values are not equal';
 ok !secure_compare('0♥',  '♥'),   'values are not equal';
 ok !secure_compare('0♥1', '1♥0'), 'values are not equal';
-ok !secure_compare('',      '♥'),   'values are not equal';
-ok !secure_compare('♥',   ''),      'values are not equal';
+ok !secure_compare('',    '♥'),   'values are not equal';
+ok !secure_compare('♥',   ''),    'values are not equal';
 
 # xor_encode
 is xor_encode('hello',                'foo'), "\x0e\x0a\x03\x0a\x00",          
               'right result';
@@ -477,10 +477,10 @@
   'right result';
 is slugify('Hello, World!'), 'hello-world', 'right result';
 is slugify('spam & eggs'),   'spam-eggs',   'right result';
-is slugify('spam & ıçüş',  1), 'spam-ıçüş', 'right result';
-is slugify('foo ıç bar',     1), 'foo-ıç-bar',  'right result';
-is slugify('    foo ıç bar', 1), 'foo-ıç-bar',  'right result';
-is slugify('你好',           1), '你好',        'right result';
+is slugify('spam & ıçüş',    1), 'spam-ıçüş',  'right result';
+is slugify('foo ıç bar',     1), 'foo-ıç-bar', 'right result';
+is slugify('    foo ıç bar', 1), 'foo-ıç-bar', 'right result';
+is slugify('你好',             1), '你好',         'right result';
 
 # gzip/gunzip
 my $uncompressed = 'a' x 1000;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojolicious/charset_lite_app.t 
new/Mojolicious-8.56/t/mojolicious/charset_lite_app.t
--- old/Mojolicious-8.55/t/mojolicious/charset_lite_app.t       2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojolicious/charset_lite_app.t       2020-06-19 
22:06:27.000000000 +0200
@@ -91,8 +91,7 @@
 
$t->get_ok('/json')->status_is(200)->content_type_is('application/json;charset=UTF-8')->json_is({test
 => $yatta});
 
 # IRI
-$t->get_ok('/привет/мир')->status_is(200)->content_type_is('application/json;charset=UTF-8')
-  ->json_is({foo => $yatta});
+$t->get_ok('/привет/мир')->status_is(200)->content_type_is('application/json;charset=UTF-8')->json_is({foo
 => $yatta});
 
 # Shift_JIS parameters
 my $url = $t->ua->server->url->path('/params')->query(foo => 3, yatta => 
$yatta);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojolicious/dispatch.t 
new/Mojolicious-8.56/t/mojolicious/dispatch.t
--- old/Mojolicious-8.55/t/mojolicious/dispatch.t       2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojolicious/dispatch.t       2020-06-19 
22:06:27.000000000 +0200
@@ -207,11 +207,11 @@
 $c->req->method('GET');
 $c->req->url->parse('/foo/%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82');
 ok $d->dispatch($c), 'dispatched';
-is $c->stash->{controller}, 'foo',          'right value';
-is $c->stash->{action},     'bar',          'right value';
+is $c->stash->{controller}, 'foo',    'right value';
+is $c->stash->{action},     'bar',    'right value';
 is $c->stash->{capture},    'привет', 'right value';
-is $c->param('controller'), undef,          'no value';
-is $c->param('action'),     undef,          'no value';
+is $c->param('controller'), undef,    'no value';
+is $c->param('action'),     undef,    'no value';
 is $c->param('capture'),    'привет', 'right value';
 ok $c->render_called, 'rendered';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-8.55/t/mojolicious/json_config_lite_app.t 
new/Mojolicious-8.56/t/mojolicious/json_config_lite_app.t
--- old/Mojolicious-8.55/t/mojolicious/json_config_lite_app.t   2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojolicious/json_config_lite_app.t   2020-06-19 
22:06:28.000000000 +0200
@@ -24,17 +24,17 @@
 plugin JSONConfig => {file => $path};
 is $config->{foo},          'bar',            'right value';
 is $config->{hello},        'there',          'right value';
-is $config->{utf},          'утф',         'right value';
+is $config->{utf},          'утф',            'right value';
 is $config->{absolute},     'works too!',     'right value';
 is $config->{absolute_dev}, 'dev works too!', 'right value';
 is app->config->{foo},          'bar',            'right value';
 is app->config->{hello},        'there',          'right value';
-is app->config->{utf},          'утф',         'right value';
+is app->config->{utf},          'утф',            'right value';
 is app->config->{absolute},     'works too!',     'right value';
 is app->config->{absolute_dev}, 'dev works too!', 'right value';
 is app->config('foo'),          'bar',            'right value';
 is app->config('hello'),        'there',          'right value';
-is app->config('utf'),          'утф',         'right value';
+is app->config('utf'),          'утф',            'right value';
 is app->config('absolute'),     'works too!',     'right value';
 is app->config('absolute_dev'), 'dev works too!', 'right value';
 is app->config('it'),           'works',          'right value';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojolicious/lite_app.t 
new/Mojolicious-8.56/t/mojolicious/lite_app.t
--- old/Mojolicious-8.55/t/mojolicious/lite_app.t       2020-06-14 
18:21:04.000000000 +0200
+++ new/Mojolicious-8.56/t/mojolicious/lite_app.t       2020-06-19 
22:06:29.000000000 +0200
@@ -422,7 +422,7 @@
 app->routes->add_condition(
   redirect => sub {
     my ($route, $c, $captures, $active) = @_;
-    return 1 unless $active;
+    return 1                                  unless $active;
     $c->redirect_to('index') and return undef unless 
$c->req->headers->header('X-Condition-Test');
     return 1;
   }
@@ -647,8 +647,7 @@
 is $stash->{finished}, 1, 'finish event has been emitted once';
 
 # IRI
-$t->get_ok('/привет/мир')->status_is(200)->content_type_is('text/html;charset=UTF-8')
-  ->content_is('привет мир');
+$t->get_ok('/привет/мир')->status_is(200)->content_type_is('text/html;charset=UTF-8')->content_is('привет
 мир');
 
 # Route with format
 $t->get_ok('/root.html')->status_is(200)->header_is(Server => 'Mojolicious 
(Perl)')->content_is("/\n");
@@ -805,8 +804,7 @@
 
 # UTF-8 form
 $t->post_ok('/utf8' => form => {name => 
'табак'})->status_is(200)->header_is(Server => 'Mojolicious (Perl)')
-  ->header_is('Content-Length' => 
22)->content_type_is('text/html;charset=UTF-8')
-  ->content_is("табак ангел\n");
+  ->header_is('Content-Length' => 
22)->content_type_is('text/html;charset=UTF-8')->content_is("табак ангел\n");
 
 # UTF-8 "multipart/form-data" form
 $t->post_ok('/utf8' => {'Content-Type' => 'multipart/form-data'} => form => 
{name => 'табак'})->status_is(200)
@@ -888,9 +886,8 @@
 # Redirect to named route with redirecting enabled in user agent
 $t->ua->max_redirects(3);
 $t->get_ok('/redirect_named')->status_is(200)->header_is(Server => 
'Mojolicious (Perl)')->header_is(Location => undef)
-  ->element_exists('#☃')->element_exists_not('#foo')->text_isnt('#foo' => 
'whatever')
-  ->text_isnt('div#☃' => 'Redirect')->text_is('div#☃' => 'Redirect 
works!')->text_unlike('div#☃' => qr/Foo/)
-  ->text_like('div#☃' => qr/^Redirect/);
+  ->element_exists('#☃')->element_exists_not('#foo')->text_isnt('#foo' => 
'whatever')->text_isnt('div#☃' => 'Redirect')
+  ->text_is('div#☃' => 'Redirect works!')->text_unlike('div#☃' => 
qr/Foo/)->text_like('div#☃' => qr/^Redirect/);
 $t->ua->max_redirects(0);
 is $t->tx->previous->res->code, 302, 'right status';
 like $t->tx->previous->res->headers->location, qr!/template.txt$!, 'right 
"Location" value';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-8.55/t/mojolicious/static_lite_app.t 
new/Mojolicious-8.56/t/mojolicious/static_lite_app.t
--- old/Mojolicious-8.55/t/mojolicious/static_lite_app.t        2020-06-14 
18:18:32.000000000 +0200
+++ new/Mojolicious-8.56/t/mojolicious/static_lite_app.t        2020-06-19 
22:06:23.000000000 +0200
@@ -247,8 +247,7 @@
   ->header_is('Accept-Ranges' => 'bytes')->content_is('');
 
 # UTF-8 encoded inline file
-$t->get_ok('/static_utf8.txt')->status_is(200)->header_is(Server => 
'Mojolicious (Perl)')
-  ->content_is("I ♥ Unicode\n");
+$t->get_ok('/static_utf8.txt')->status_is(200)->header_is(Server => 
'Mojolicious (Perl)')->content_is("I ♥ Unicode\n");
 
 done_testing();
 


Reply via email to