Hello community,

here is the log from the commit of package perl-Mojolicious for 
openSUSE:Factory checked in at 2018-02-21 14:13:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Mojolicious"

Wed Feb 21 14:13:54 2018 rev:90 rq:578618 version:7.67

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes        
2018-02-16 21:45:27.953370434 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes   
2018-02-21 14:13:57.512815527 +0100
@@ -1,0 +2,6 @@
+Wed Feb 21 06:37:46 UTC 2018 - co...@suse.com
+
+- updated to 7.67
+   see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+-------------------------------------------------------------------

Old:
----
  Mojolicious-7.66.tar.gz

New:
----
  Mojolicious-7.67.tar.gz

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

Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.zE22N8/_old  2018-02-21 14:13:58.576777211 +0100
+++ /var/tmp/diff_new_pack.zE22N8/_new  2018-02-21 14:13:58.576777211 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Mojolicious
-Version:        7.66
+Version:        7.67
 Release:        0
 %define cpan_name Mojolicious
 Summary:        Real-time web framework

++++++ Mojolicious-7.66.tar.gz -> Mojolicious-7.67.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/.perltidyrc 
new/Mojolicious-7.67/.perltidyrc
--- old/Mojolicious-7.66/.perltidyrc    2018-01-03 14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/.perltidyrc    2018-02-19 00:56:16.000000000 +0100
@@ -9,4 +9,5 @@
 -pt=2    # High parenthesis tightness
 -bt=2    # High brace tightness
 -sbt=2   # High square bracket tightness
+-wn      # Weld nested containers
 -isbc    # Don't indent comments without leading space
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/Changes new/Mojolicious-7.67/Changes
--- old/Mojolicious-7.66/Changes        2018-02-13 18:03:58.000000000 +0100
+++ new/Mojolicious-7.67/Changes        2018-02-19 12:12:21.000000000 +0100
@@ -1,4 +1,9 @@
 
+7.67  2018-02-19
+  - Modernized ".perltidyrc".
+  - Fixed a bug in Mojo::Asset::File where forked processes could delete
+    temporary files prematurely.
+
 7.66  2018-02-13
   - This release contains fixes for security issues, everybody should upgrade!
   - Removed origin attribute of Mojo::Cookie::Response.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/META.json 
new/Mojolicious-7.67/META.json
--- old/Mojolicious-7.66/META.json      2018-02-14 09:54:38.000000000 +0100
+++ new/Mojolicious-7.67/META.json      2018-02-20 00:10:29.000000000 +0100
@@ -4,7 +4,7 @@
       "Sebastian Riedel <s...@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.32, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "artistic_2"
    ],
@@ -58,6 +58,6 @@
       },
       "x_IRC" : "irc://irc.perl.org/#mojo"
    },
-   "version" : "7.66",
+   "version" : "7.67",
    "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/META.yml 
new/Mojolicious-7.67/META.yml
--- old/Mojolicious-7.66/META.yml       2018-02-14 09:54:38.000000000 +0100
+++ new/Mojolicious-7.67/META.yml       2018-02-20 00:10:28.000000000 +0100
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.32, CPAN::Meta::Converter version 
2.150010'
 license: artistic_2
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -31,5 +31,5 @@
   homepage: http://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/kraih/mojo.git
-version: '7.66'
+version: '7.67'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/Mojo/Asset/File.pm 
new/Mojolicious-7.67/lib/Mojo/Asset/File.pm
--- old/Mojolicious-7.66/lib/Mojo/Asset/File.pm 2018-01-03 13:49:43.000000000 
+0100
+++ new/Mojolicious-7.67/lib/Mojo/Asset/File.pm 2018-02-19 12:26:00.000000000 
+0100
@@ -29,9 +29,12 @@
 
 sub DESTROY {
   my $self = shift;
+
   return unless $self->cleanup && defined(my $path = $self->path);
   if (my $handle = $self->handle) { close $handle }
-  unlink $path if -w $path;
+
+  # Only the process that created the file is allowed to remove it
+  unlink $path if -w $path && ($self->{pid} // $$) == $$;
 }
 
 sub add_chunk {
@@ -109,6 +112,12 @@
 
 sub mtime { (stat shift->handle)[9] }
 
+sub new {
+  my $file = shift->SUPER::new(@_);
+  $file->{pid} = $$;
+  return $file;
+}
+
 sub size { -s shift->handle }
 
 sub slurp {
@@ -228,6 +237,14 @@
 
 Modification time of asset.
 
+=head2 new
+
+  my $file = Mojo::Asset::File->new;
+  my $file = Mojo::Asset::File->new(path => '/home/sri/test.txt');
+  my $file = Mojo::Asset::File->new({path => '/home/sri/test.txt'});
+
+Construct a new L<Mojo::Asset::File> object.
+
 =head2 size
 
   my $size = $file->size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/Mojo/Log.pm 
new/Mojolicious-7.67/lib/Mojo/Log.pm
--- old/Mojolicious-7.66/lib/Mojo/Log.pm        2018-02-07 10:51:20.000000000 
+0100
+++ new/Mojolicious-7.67/lib/Mojo/Log.pm        2018-02-19 00:56:32.000000000 
+0100
@@ -15,8 +15,8 @@
   # File
   return Mojo::File->new($path)->open('>>');
 };
-has history => sub { [] };
-has level => 'debug';
+has history          => sub { [] };
+has level            => 'debug';
 has max_history_size => 10;
 has 'path';
 has short => sub { $ENV{MOJO_LOG_SHORT} };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/Mojo/Message.pm 
new/Mojolicious-7.67/lib/Mojo/Message.pm
--- old/Mojolicious-7.66/lib/Mojo/Message.pm    2018-01-03 13:49:47.000000000 
+0100
+++ new/Mojolicious-7.67/lib/Mojo/Message.pm    2018-02-19 00:56:38.000000000 
+0100
@@ -11,11 +11,11 @@
 use Mojo::Upload;
 use Mojo::Util 'decode';
 
-has content => sub { Mojo::Content::Single->new };
-has default_charset => 'UTF-8';
-has max_line_size => sub { $ENV{MOJO_MAX_LINE_SIZE} || 8192 };
+has content          => sub { Mojo::Content::Single->new };
+has default_charset  => 'UTF-8';
+has max_line_size    => sub { $ENV{MOJO_MAX_LINE_SIZE} || 8192 };
 has max_message_size => sub { $ENV{MOJO_MAX_MESSAGE_SIZE} // 16777216 };
-has version => '1.1';
+has version          => '1.1';
 
 sub body {
   my $self = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/Mojo/UserAgent.pm 
new/Mojolicious-7.67/lib/Mojo/UserAgent.pm
--- old/Mojolicious-7.66/lib/Mojo/UserAgent.pm  2018-01-03 13:49:44.000000000 
+0100
+++ new/Mojolicious-7.67/lib/Mojo/UserAgent.pm  2018-02-19 00:56:33.000000000 
+0100
@@ -23,9 +23,9 @@
 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 };
-has request_timeout => sub { $ENV{MOJO_REQUEST_TIMEOUT} // 0 };
+has max_redirects      => sub { $ENV{MOJO_MAX_REDIRECTS} || 0 };
+has proxy              => sub { Mojo::UserAgent::Proxy->new };
+has request_timeout    => sub { $ENV{MOJO_REQUEST_TIMEOUT} // 0 };
 has server     => sub { Mojo::UserAgent::Server->new(ioloop => shift->ioloop) 
};
 has transactor => sub { Mojo::UserAgent::Transactor->new };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/Mojolicious/Command/get.pm 
new/Mojolicious-7.67/lib/Mojolicious/Command/get.pm
--- old/Mojolicious-7.66/lib/Mojolicious/Command/get.pm 2018-02-01 
22:46:09.000000000 +0100
+++ new/Mojolicious-7.67/lib/Mojolicious/Command/get.pm 2018-02-19 
00:56:53.000000000 +0100
@@ -28,12 +28,12 @@
     'f|form=s'    => sub { _form(\%form) if $_[1] =~ /^(.+)=(\@?)(.+)$/ },
     'H|header=s'  => \my @headers,
     'i|inactivity-timeout=i' => sub { $ua->inactivity_timeout($_[1]) },
-    'M|method=s' => \(my $method = 'GET'),
-    'o|connect-timeout=i' => sub { $ua->connect_timeout($_[1]) },
-    'r|redirect'          => \my $redirect,
-    'S|response-size=i'   => sub { $ua->max_response_size($_[1]) },
-    'u|user=s'            => \my $user,
-    'v|verbose'           => \my $verbose;
+    'M|method=s'             => \(my $method = 'GET'),
+    'o|connect-timeout=i'    => sub { $ua->connect_timeout($_[1]) },
+    'r|redirect'             => \my $redirect,
+    'S|response-size=i'      => sub { $ua->max_response_size($_[1]) },
+    'u|user=s'               => \my $user,
+    'v|verbose'              => \my $verbose;
 
   @args = map { decode 'UTF-8', $_ } @args;
   die $self->usage unless my $url = shift @args;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-7.66/lib/Mojolicious/Guides/Rendering.pod 
new/Mojolicious-7.67/lib/Mojolicious/Guides/Rendering.pod
--- old/Mojolicious-7.66/lib/Mojolicious/Guides/Rendering.pod   2017-12-17 
14:30:03.000000000 +0100
+++ new/Mojolicious-7.67/lib/Mojolicious/Guides/Rendering.pod   2018-02-15 
00:59:02.000000000 +0100
@@ -1291,6 +1291,40 @@
 
   Hello World!
 
+Instead of providing a C<Content-Length> header you can also call
+L<Mojolicious::Controller/"finish"> and close the connection manually once you
+are done.
+
+  use Mojolicious::Lite;
+
+  get '/' => sub {
+    my $c = shift;
+
+    # Prepare body
+    my $body = 'Hello World!';
+
+    # Start writing directly with a drain callback
+    my $drain;
+    $drain = sub {
+      my $c = shift;
+      my $chunk = substr $body, 0, 1, '';
+      length $chunk ? $c->write($chunk, $drain) : $c->finish;
+    };
+    $c->$drain;
+  };
+
+  app->start;
+
+While this is rather inefficient, as it prevents keep-alive, it is sometimes
+necessary for EventSource and similar applications.
+
+  HTTP/1.1 200 OK
+  Date: Sat, 13 Sep 2014 16:48:29 GMT
+  Connection: close
+  Server: Mojolicious (Perl)
+
+  Hello World!
+
 =head2 Chunked transfer encoding
 
 For very dynamic content you might not know the response content length in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-7.66/lib/Mojolicious/Plugin/DefaultHelpers.pm 
new/Mojolicious-7.67/lib/Mojolicious/Plugin/DefaultHelpers.pm
--- old/Mojolicious-7.66/lib/Mojolicious/Plugin/DefaultHelpers.pm       
2018-02-11 16:12:05.000000000 +0100
+++ new/Mojolicious-7.67/lib/Mojolicious/Plugin/DefaultHelpers.pm       
2018-02-19 00:56:48.000000000 +0100
@@ -107,11 +107,11 @@
   my $renderer = $app->renderer;
   my $options  = {
     exception => $page eq 'exception' ? $e : undef,
-    format => $stash->{format} || $renderer->default_format,
-    handler  => undef,
-    snapshot => \%snapshot,
-    status   => $page eq 'exception' ? 500 : 404,
-    template => "$page.$mode"
+    format    => $stash->{format} || $renderer->default_format,
+    handler   => undef,
+    snapshot  => \%snapshot,
+    status    => $page eq 'exception' ? 500 : 404,
+    template  => "$page.$mode"
   };
   my $bundled = 'mojo/' . ($mode eq 'development' ? 'debug' : $page);
   return $c if _fallbacks($c, $options, $page, $bundled);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/Mojolicious.pm 
new/Mojolicious-7.67/lib/Mojolicious.pm
--- old/Mojolicious-7.66/lib/Mojolicious.pm     2018-02-13 18:04:20.000000000 
+0100
+++ new/Mojolicious-7.67/lib/Mojolicious.pm     2018-02-19 00:56:30.000000000 
+0100
@@ -40,7 +40,7 @@
   return $mode eq 'development' ? $log : $log->level('info');
 };
 has 'max_request_size';
-has mode => sub { $ENV{MOJO_MODE} || $ENV{PLACK_ENV} || 'development' };
+has mode     => sub { $ENV{MOJO_MODE} || $ENV{PLACK_ENV} || 'development' };
 has moniker  => sub { Mojo::Util::decamelize ref shift };
 has plugins  => sub { Mojolicious::Plugins->new };
 has renderer => sub { Mojolicious::Renderer->new };
@@ -65,7 +65,7 @@
 has validator => sub { Mojolicious::Validator->new };
 
 our $CODENAME = 'Doughnut';
-our $VERSION  = '7.66';
+our $VERSION  = '7.67';
 
 sub AUTOLOAD {
   my $self = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/lib/ojo.pm 
new/Mojolicious-7.67/lib/ojo.pm
--- old/Mojolicious-7.66/lib/ojo.pm     2018-01-03 13:49:41.000000000 +0100
+++ new/Mojolicious-7.67/lib/ojo.pm     2018-02-19 00:56:29.000000000 +0100
@@ -35,8 +35,8 @@
     h => sub { $ua->head(@_)->result },
     j => \&j,
     n => sub (&@) { say STDERR timestr timeit($_[1] // 1, $_[0]) },
-    o => sub      { $ua->options(@_)->result },
-    p => sub      { $ua->post(@_)->result },
+    o => sub { $ua->options(@_)->result },
+    p => sub { $ua->post(@_)->result },
     r => \&dumper,
     t => sub { $ua->patch(@_)->result },
     u => sub { $ua->put(@_)->result },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/asset.t 
new/Mojolicious-7.67/t/mojo/asset.t
--- old/Mojolicious-7.66/t/mojo/asset.t 2018-01-03 13:49:05.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/asset.t 2018-02-19 12:27:08.000000000 +0100
@@ -1,6 +1,8 @@
 use Mojo::Base -strict;
 
 use Test::More;
+use Carp 'croak';
+use Config;
 use Mojo::Asset::File;
 use Mojo::Asset::Memory;
 use Mojo::File qw(path tempdir);
@@ -243,6 +245,22 @@
   like $@, qr/Can't write to asset: .*/, 'right error';
 }
 
+# Forked process
+SKIP: {
+  skip 'Real fork is required!', 5 if $Config{d_pseudofork};
+  $file = Mojo::Asset::File->new->add_chunk('Fork test!');
+  $path = $file->path;
+  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;
+  waitpid $pid, 0 if $pid;
+  ok -e $path, 'file still exists';
+  is $file->slurp, 'Fork test!', 'right content';
+  undef $file;
+  ok !-e $path, 'file has been cleaned up';
+}
+
 # Abstract methods
 eval { Mojo::Asset->add_chunk };
 like $@, qr/Method "add_chunk" not implemented by subclass/, 'right error';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/cookiejar.t 
new/Mojolicious-7.67/t/mojo/cookiejar.t
--- old/Mojolicious-7.66/t/mojo/cookiejar.t     2018-02-13 18:07:32.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/cookiejar.t     2018-02-19 00:42:47.000000000 
+0100
@@ -188,28 +188,24 @@
 
 # Switch between secure and normal cookies
 $jar = Mojo::UserAgent::CookieJar->new;
-$jar->add(
-  Mojo::Cookie::Response->new(
-    domain => 'example.com',
-    path   => '/foo',
-    name   => 'foo',
-    value  => 'foo',
-    secure => 1
-  )
-);
+$jar->add(Mojo::Cookie::Response->new(
+  domain => 'example.com',
+  path   => '/foo',
+  name   => 'foo',
+  value  => 'foo',
+  secure => 1
+));
 $cookies = $jar->find(Mojo::URL->new('https://example.com/foo'));
 is $cookies->[0]->name,  'foo', 'right name';
 is $cookies->[0]->value, 'foo', 'right value';
 $cookies = $jar->find(Mojo::URL->new('http://example.com/foo'));
 is scalar @$cookies, 0, 'no insecure cookie';
-$jar->add(
-  Mojo::Cookie::Response->new(
-    domain => 'example.com',
-    path   => '/foo',
-    name   => 'foo',
-    value  => 'bar'
-  )
-);
+$jar->add(Mojo::Cookie::Response->new(
+  domain => 'example.com',
+  path   => '/foo',
+  name   => 'foo',
+  value  => 'bar'
+));
 $cookies = $jar->find(Mojo::URL->new('http://example.com/foo'));
 is $cookies->[0]->name,  'foo', 'right name';
 is $cookies->[0]->value, 'bar', 'right value';
@@ -220,14 +216,12 @@
 
 # "(" in path
 $jar = Mojo::UserAgent::CookieJar->new;
-$jar->add(
-  Mojo::Cookie::Response->new(
-    domain => 'example.com',
-    path   => '/foo(bar',
-    name   => 'foo',
-    value  => 'bar'
-  )
-);
+$jar->add(Mojo::Cookie::Response->new(
+  domain => 'example.com',
+  path   => '/foo(bar',
+  name   => 'foo',
+  value  => 'bar'
+));
 $cookies = $jar->find(Mojo::URL->new('http://example.com/foo(bar'));
 is $cookies->[0]->name,  'foo', 'right name';
 is $cookies->[0]->value, 'bar', 'right value';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/daemon.t 
new/Mojolicious-7.67/t/mojo/daemon.t
--- old/Mojolicious-7.66/t/mojo/daemon.t        2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/daemon.t        2018-02-19 00:42:45.000000000 
+0100
@@ -298,12 +298,10 @@
 $acceptor->on(
   accept => sub {
     my $acceptor = shift;
-    $loop->next_tick(
-      sub {
-        push @accepting, $acceptor->is_accepting;
-        shift->stop if @accepting == 2;
-      }
-    );
+    $loop->next_tick(sub {
+      push @accepting, $acceptor->is_accepting;
+      shift->stop if @accepting == 2;
+    });
   }
 );
 $loop->client({port => $acceptor->port} => sub { }) for 1 .. 2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/delay.t 
new/Mojolicious-7.67/t/mojo/delay.t
--- old/Mojolicious-7.66/t/mojo/delay.t 2018-01-03 14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/delay.t 2018-02-19 00:43:01.000000000 +0100
@@ -199,12 +199,10 @@
 $delay->steps(
   sub {
     my $end = shift->begin;
-    Mojo::IOLoop->next_tick(
-      sub {
-        $result = 'pass';
-        $end->();
-      }
-    );
+    Mojo::IOLoop->next_tick(sub {
+      $result = 'pass';
+      $end->();
+    });
   },
   sub { die 'Second step!' },
   sub { $result = 'failed' }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/dom.t 
new/Mojolicious-7.67/t/mojo/dom.t
--- old/Mojolicious-7.66/t/mojo/dom.t   2018-01-03 14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/dom.t   2018-02-19 00:42:50.000000000 +0100
@@ -2066,21 +2066,17 @@
 </c>
 EOF
 my @results;
-$dom->find('b')->each(
-  sub {
-    $_->find('a')->each(sub { push @results, $_->text });
-  }
-);
+$dom->find('b')->each(sub {
+  $_->find('a')->each(sub { push @results, $_->text });
+});
 is_deeply \@results, [qw(bar baz yada)], 'right results';
 @results = ();
 $dom->find('a')->each(sub { push @results, $_->text });
 is_deeply \@results, [qw(foo bar baz yada)], 'right results';
 @results = ();
-$dom->find('b')->each(
-  sub {
-    $_->find('c a')->each(sub { push @results, $_->text });
-  }
-);
+$dom->find('b')->each(sub {
+  $_->find('c a')->each(sub { push @results, $_->text });
+});
 is_deeply \@results, [qw(baz yada)], 'right results';
 is $dom->at('b')->at('a')->text, 'bar', 'right text';
 is $dom->at('c > b > a')->text, 'bar', 'right text';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/ioloop.t 
new/Mojolicious-7.67/t/mojo/ioloop.t
--- old/Mojolicious-7.66/t/mojo/ioloop.t        2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/ioloop.t        2018-02-19 00:42:51.000000000 
+0100
@@ -17,26 +17,22 @@
 
 # Double start
 my $err;
-Mojo::IOLoop->next_tick(
-  sub {
-    my $loop = shift;
-    eval { $loop->start };
-    $err = $@;
-    $loop->stop;
-  }
-);
+Mojo::IOLoop->next_tick(sub {
+  my $loop = shift;
+  eval { $loop->start };
+  $err = $@;
+  $loop->stop;
+});
 Mojo::IOLoop->start;
 like $err, qr/^Mojo::IOLoop already running/, 'right error';
 
 # Double one_tick
 $err = undef;
-Mojo::IOLoop->next_tick(
-  sub {
-    my $loop = shift;
-    eval { $loop->one_tick };
-    $err = $@;
-  }
-);
+Mojo::IOLoop->next_tick(sub {
+  my $loop = shift;
+  eval { $loop->one_tick };
+  $err = $@;
+});
 Mojo::IOLoop->one_tick;
 like $err, qr/^Mojo::IOLoop already running/, 'right error';
 
@@ -94,12 +90,10 @@
 $count = 0;
 Mojo::IOLoop->recurring(10 => sub { $timer++ });
 my $running;
-Mojo::IOLoop->next_tick(
-  sub {
-    Mojo::IOLoop->reset;
-    $running = Mojo::IOLoop->is_running;
-  }
-);
+Mojo::IOLoop->next_tick(sub {
+  Mojo::IOLoop->reset;
+  $running = Mojo::IOLoop->is_running;
+});
 Mojo::IOLoop->start;
 ok !$running, 'not running';
 is $count, 0, 'no recurring events';
@@ -294,13 +288,11 @@
 my @accepting;
 $id = $loop->server(
   {address => '127.0.0.1', single_accept => 1} => sub {
-    shift->next_tick(
-      sub {
-        my $loop = shift;
-        push @accepting, $loop->acceptor($id)->is_accepting;
-        $loop->stop if @accepting == 2;
-      }
-    );
+    shift->next_tick(sub {
+      my $loop = shift;
+      push @accepting, $loop->acceptor($id)->is_accepting;
+      $loop->stop if @accepting == 2;
+    });
   }
 );
 $port = $loop->acceptor($id)->port;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/json.t 
new/Mojolicious-7.67/t/mojo/json.t
--- old/Mojolicious-7.66/t/mojo/json.t  2018-01-03 13:48:59.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/json.t  2018-02-19 00:42:54.000000000 +0100
@@ -268,8 +268,8 @@
 # Blessed reference with TO_JSON method
 $bytes = encode_json(JSONTest->new);
 is_deeply decode_json($bytes), {}, 'successful roundtrip';
-$bytes = encode_json(
-  JSONTest->new(something => {just => 'works'}, else => {not => 'working'}));
+$bytes = encode_json(JSONTest->new(
+  something => {just => 'works'}, else => {not => 'working'}));
 is_deeply decode_json($bytes), {just => 'works'}, 'successful roundtrip';
 
 # Boolean shortcut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/lib/Mojo/LoaderException.pm 
new/Mojolicious-7.67/t/mojo/lib/Mojo/LoaderException.pm
--- old/Mojolicious-7.66/t/mojo/lib/Mojo/LoaderException.pm     2018-01-03 
14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/lib/Mojo/LoaderException.pm     2018-02-19 
00:44:57.000000000 +0100
@@ -2,7 +2,7 @@
 
 use Mojo::Base -base;
 
-sub new {}
+sub new { }
 
 foo {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/loader.t 
new/Mojolicious-7.67/t/mojo/loader.t
--- old/Mojolicious-7.66/t/mojo/loader.t        2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/loader.t        2018-02-19 00:47:03.000000000 
+0100
@@ -24,16 +24,16 @@
 my $e = load_class 'Mojo::LoaderException';
 isa_ok $e, 'Mojo::Exception', 'right exception';
 like $e->message, qr/Missing right curly/, 'right message';
-is $e->lines_before->[0][0], 4,            'right number';
-is $e->lines_before->[0][1], '',           'right line';
-is $e->lines_before->[1][0], 5,            'right number';
-is $e->lines_before->[1][1], 'sub new {}', 'right line';
-is $e->lines_before->[2][0], 6,            'right number';
-is $e->lines_before->[2][1], '',           'right line';
-is $e->lines_before->[3][0], 7,            'right number';
-is $e->lines_before->[3][1], 'foo {',      'right line';
-is $e->lines_before->[4][0], 8,            'right number';
-is $e->lines_before->[4][1], '',           'right line';
+is $e->lines_before->[0][0], 4,             'right number';
+is $e->lines_before->[0][1], '',            'right line';
+is $e->lines_before->[1][0], 5,             'right number';
+is $e->lines_before->[1][1], 'sub new { }', 'right line';
+is $e->lines_before->[2][0], 6,             'right number';
+is $e->lines_before->[2][1], '',            'right line';
+is $e->lines_before->[3][0], 7,             'right number';
+is $e->lines_before->[3][1], 'foo {',       'right line';
+is $e->lines_before->[4][0], 8,             'right number';
+is $e->lines_before->[4][1], '',            'right line';
 is $e->line->[0], 9,    'right number';
 is $e->line->[1], "1;", 'right line';
 like "$e", qr/Missing right curly/, 'right message';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/log.t 
new/Mojolicious-7.67/t/mojo/log.t
--- old/Mojolicious-7.66/t/mojo/log.t   2018-02-07 10:46:27.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/log.t   2018-02-19 00:42:55.000000000 +0100
@@ -41,12 +41,10 @@
   qr/^\[.*\] \[debug\] Test\n1\n2\n3\n$/, 'right format';
 like $log->format->(time, 'error', 'I ♥ Mojolicious'),
   qr/^\[.*\] \[error\] I ♥ Mojolicious\n$/, 'right format';
-$log->format(
-  sub {
-    my ($time, $level, @lines) = @_;
-    return join ':', $level, $time, @lines;
-  }
-);
+$log->format(sub {
+  my ($time, $level, @lines) = @_;
+  return join ':', $level, $time, @lines;
+});
 like $log->format->(time, 'debug', qw(Test 1 2 3)), qr/^debug:\d+:Test:1:2:3$/,
   'right format';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/request_cgi.t 
new/Mojolicious-7.67/t/mojo/request_cgi.t
--- old/Mojolicious-7.66/t/mojo/request_cgi.t   2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/request_cgi.t   2018-02-19 00:42:47.000000000 
+0100
@@ -7,18 +7,16 @@
 my $req = Mojo::Message::Request->new;
 my $body;
 $req->content->on(body => sub { $body++ });
-$req->parse(
-  {
-    HTTP_CONTENT_LENGTH => 11,
-    HTTP_DNT            => 1,
-    PATH_INFO           => '/te+st/index.cgi/foo/bar',
-    QUERY_STRING        => 'lalala=23&bar=baz',
-    REQUEST_METHOD      => 'POST',
-    SCRIPT_NAME         => '/te+st/index.cgi',
-    HTTP_HOST           => 'localhost:8080',
-    SERVER_PROTOCOL     => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  HTTP_CONTENT_LENGTH => 11,
+  HTTP_DNT            => 1,
+  PATH_INFO           => '/te+st/index.cgi/foo/bar',
+  QUERY_STRING        => 'lalala=23&bar=baz',
+  REQUEST_METHOD      => 'POST',
+  SCRIPT_NAME         => '/te+st/index.cgi',
+  HTTP_HOST           => 'localhost:8080',
+  SERVER_PROTOCOL     => 'HTTP/1.0'
+});
 is $body, 1, 'body event has been emitted once';
 $req->parse('Hello ');
 is $body, 1, 'body event has been emitted once';
@@ -40,19 +38,17 @@
 
 # Parse Lighttpd CGI environment variables and body (behind reverse proxy)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    HTTP_CONTENT_LENGTH  => 11,
-    HTTP_DNT             => 1,
-    HTTP_X_FORWARDED_FOR => '127.0.0.1',
-    PATH_INFO            => '/test/index.cgi/foo/bar',
-    QUERY_STRING         => 'lalala=23&bar=baz',
-    REQUEST_METHOD       => 'POST',
-    SCRIPT_NAME          => '/test/index.cgi',
-    HTTP_HOST            => 'mojolicious.org',
-    SERVER_PROTOCOL      => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  HTTP_CONTENT_LENGTH  => 11,
+  HTTP_DNT             => 1,
+  HTTP_X_FORWARDED_FOR => '127.0.0.1',
+  PATH_INFO            => '/test/index.cgi/foo/bar',
+  QUERY_STRING         => 'lalala=23&bar=baz',
+  REQUEST_METHOD       => 'POST',
+  SCRIPT_NAME          => '/test/index.cgi',
+  HTTP_HOST            => 'mojolicious.org',
+  SERVER_PROTOCOL      => 'HTTP/1.0'
+});
 $req->parse('Hello World');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'POST', 'right method';
@@ -70,19 +66,17 @@
 
 # Parse Apache CGI environment variables and body
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 11,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded',
-    HTTP_DNT        => 1,
-    PATH_INFO       => '/test/index.cgi/foo/bar',
-    QUERY_STRING    => 'lalala=23&bar=baz',
-    REQUEST_METHOD  => 'POST',
-    SCRIPT_NAME     => '/test/index.cgi',
-    HTTP_HOST       => 'localhost:8080',
-    SERVER_PROTOCOL => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 11,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded',
+  HTTP_DNT        => 1,
+  PATH_INFO       => '/test/index.cgi/foo/bar',
+  QUERY_STRING    => 'lalala=23&bar=baz',
+  REQUEST_METHOD  => 'POST',
+  SCRIPT_NAME     => '/test/index.cgi',
+  HTTP_HOST       => 'localhost:8080',
+  SERVER_PROTOCOL => 'HTTP/1.0'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'POST', 'right method';
@@ -105,19 +99,17 @@
   $req = Mojo::Message::Request->new;
   is $req->content->asset->max_memory_size, 10, 'right size';
   ok !$req->content->is_parsing_body, 'is not parsing body';
-  $req->parse(
-    {
-      CONTENT_LENGTH  => 12,
-      CONTENT_TYPE    => 'text/plain',
-      HTTP_DNT        => 1,
-      PATH_INFO       => '/test/index.cgi/foo/bar',
-      QUERY_STRING    => 'lalala=23&bar=baz',
-      REQUEST_METHOD  => 'POST',
-      SCRIPT_NAME     => '/test/index.cgi',
-      HTTP_HOST       => 'localhost:8080',
-      SERVER_PROTOCOL => 'HTTP/1.1'
-    }
-  );
+  $req->parse({
+    CONTENT_LENGTH  => 12,
+    CONTENT_TYPE    => 'text/plain',
+    HTTP_DNT        => 1,
+    PATH_INFO       => '/test/index.cgi/foo/bar',
+    QUERY_STRING    => 'lalala=23&bar=baz',
+    REQUEST_METHOD  => 'POST',
+    SCRIPT_NAME     => '/test/index.cgi',
+    HTTP_HOST       => 'localhost:8080',
+    SERVER_PROTOCOL => 'HTTP/1.1'
+  });
   ok $req->content->is_parsing_body, 'is parsing body';
   is $req->content->progress, 0, 'right progress';
   $req->parse('Hello ');
@@ -148,21 +140,19 @@
 
 # Parse Apache CGI environment variables with basic authentication
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH           => 11,
-    HTTP_Authorization       => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==',
-    HTTP_Proxy_Authorization => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==',
-    CONTENT_TYPE             => 'application/x-www-form-urlencoded',
-    HTTP_DNT                 => 1,
-    PATH_INFO                => '/test/index.cgi/foo/bar',
-    QUERY_STRING             => 'lalala=23&bar=baz',
-    REQUEST_METHOD           => 'POST',
-    SCRIPT_NAME              => '/test/index.cgi',
-    HTTP_HOST                => 'localhost:8080',
-    SERVER_PROTOCOL          => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH           => 11,
+  HTTP_Authorization       => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==',
+  HTTP_Proxy_Authorization => 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==',
+  CONTENT_TYPE             => 'application/x-www-form-urlencoded',
+  HTTP_DNT                 => 1,
+  PATH_INFO                => '/test/index.cgi/foo/bar',
+  QUERY_STRING             => 'lalala=23&bar=baz',
+  REQUEST_METHOD           => 'POST',
+  SCRIPT_NAME              => '/test/index.cgi',
+  HTTP_HOST                => 'localhost:8080',
+  SERVER_PROTOCOL          => 'HTTP/1.0'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'POST', 'right method';
@@ -191,18 +181,16 @@
 ok !$finished, 'not finished';
 ok !$progress, 'no progress';
 is $req->content->progress, 0, 'right progress';
-$req->parse(
-  {
-    CONTENT_LENGTH  => 87,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded; charset=UTF-8',
-    PATH_INFO       => '',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'POST',
-    SCRIPT_NAME     => '/index.pl',
-    HTTP_HOST       => 'test1',
-    SERVER_PROTOCOL => 'HTTP/1.1'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 87,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded; charset=UTF-8',
+  PATH_INFO       => '',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'POST',
+  SCRIPT_NAME     => '/index.pl',
+  HTTP_HOST       => 'test1',
+  SERVER_PROTOCOL => 'HTTP/1.1'
+});
 ok !$finished, 'not finished';
 ok $progress, 'made progress';
 $progress = 0;
@@ -235,18 +223,16 @@
 
 # Parse Apache 2.2 (win32) CGI environment variables and body
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 87,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded; charset=UTF-8',
-    PATH_INFO       => '',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'POST',
-    SCRIPT_NAME     => '/index.pl',
-    HTTP_HOST       => 'test1',
-    SERVER_PROTOCOL => 'HTTP/1.1'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 87,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded; charset=UTF-8',
+  PATH_INFO       => '',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'POST',
+  SCRIPT_NAME     => '/index.pl',
+  HTTP_HOST       => 'test1',
+  SERVER_PROTOCOL => 'HTTP/1.1'
+});
 $req->parse('request=&ajax=true&login=test&password=111&');
 $req->parse('edition=db6d8b30-16df-4ecd-be2f-c8194f94e1f4');
 ok $req->is_finished, 'request is finished';
@@ -268,33 +254,31 @@
 
 # Parse Apache 2.2.14 CGI environment variables and body (root)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    SCRIPT_NAME       => '/upload',
-    SERVER_NAME       => '127.0.0.1',
-    SERVER_ADMIN      => '[no address given]',
-    PATH_INFO         => '/upload',
-    HTTP_CONNECTION   => 'Keep-Alive',
-    REQUEST_METHOD    => 'POST',
-    CONTENT_LENGTH    => '11',
-    SCRIPT_FILENAME   => '/tmp/SnLu1cQ3t2/test.fcgi',
-    SERVER_SOFTWARE   => 'Apache/2.2.14 (Unix) mod_fastcgi/2.4.2',
-    QUERY_STRING      => '',
-    REMOTE_PORT       => '58232',
-    HTTP_USER_AGENT   => 'Mojolicious (Perl)',
-    SERVER_PORT       => '13028',
-    SERVER_SIGNATURE  => '',
-    REMOTE_ADDR       => '127.0.0.1',
-    CONTENT_TYPE      => 'application/x-www-form-urlencoded; charset=UTF-8',
-    SERVER_PROTOCOL   => 'HTTP/1.1',
-    REQUEST_URI       => '/upload',
-    GATEWAY_INTERFACE => 'CGI/1.1',
-    SERVER_ADDR       => '127.0.0.1',
-    DOCUMENT_ROOT     => '/tmp/SnLu1cQ3t2',
-    PATH_TRANSLATED   => '/tmp/test.fcgi/upload',
-    HTTP_HOST         => '127.0.0.1:13028'
-  }
-);
+$req->parse({
+  SCRIPT_NAME       => '/upload',
+  SERVER_NAME       => '127.0.0.1',
+  SERVER_ADMIN      => '[no address given]',
+  PATH_INFO         => '/upload',
+  HTTP_CONNECTION   => 'Keep-Alive',
+  REQUEST_METHOD    => 'POST',
+  CONTENT_LENGTH    => '11',
+  SCRIPT_FILENAME   => '/tmp/SnLu1cQ3t2/test.fcgi',
+  SERVER_SOFTWARE   => 'Apache/2.2.14 (Unix) mod_fastcgi/2.4.2',
+  QUERY_STRING      => '',
+  REMOTE_PORT       => '58232',
+  HTTP_USER_AGENT   => 'Mojolicious (Perl)',
+  SERVER_PORT       => '13028',
+  SERVER_SIGNATURE  => '',
+  REMOTE_ADDR       => '127.0.0.1',
+  CONTENT_TYPE      => 'application/x-www-form-urlencoded; charset=UTF-8',
+  SERVER_PROTOCOL   => 'HTTP/1.1',
+  REQUEST_URI       => '/upload',
+  GATEWAY_INTERFACE => 'CGI/1.1',
+  SERVER_ADDR       => '127.0.0.1',
+  DOCUMENT_ROOT     => '/tmp/SnLu1cQ3t2',
+  PATH_TRANSLATED   => '/tmp/test.fcgi/upload',
+  HTTP_HOST         => '127.0.0.1:13028'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'POST', 'right method';
@@ -311,19 +295,17 @@
 
 # Parse Apache 2.2.11 CGI environment variables and body (HTTPS=ON)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 11,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded',
-    PATH_INFO       => '/foo/bar',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'GET',
-    SCRIPT_NAME     => '/test/index.cgi',
-    HTTP_HOST       => 'localhost',
-    HTTPS           => 'ON',
-    SERVER_PROTOCOL => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 11,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded',
+  PATH_INFO       => '/foo/bar',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'GET',
+  SCRIPT_NAME     => '/test/index.cgi',
+  HTTP_HOST       => 'localhost',
+  HTTPS           => 'ON',
+  SERVER_PROTOCOL => 'HTTP/1.0'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'GET', 'right method';
@@ -339,18 +321,16 @@
 
 # Parse Apache 2.2.11 CGI environment variables and body (trailing slash)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 11,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded',
-    PATH_INFO       => '/foo/bar/',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'GET',
-    SCRIPT_NAME     => '/test/index.cgi',
-    HTTP_HOST       => 'localhost',
-    SERVER_PROTOCOL => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 11,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded',
+  PATH_INFO       => '/foo/bar/',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'GET',
+  SCRIPT_NAME     => '/test/index.cgi',
+  HTTP_HOST       => 'localhost',
+  SERVER_PROTOCOL => 'HTTP/1.0'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'GET', 'right method';
@@ -365,17 +345,15 @@
 
 # Parse Apache 2.2.11 CGI environment variables and body (no SCRIPT_NAME)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 11,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded',
-    PATH_INFO       => '/foo/bar',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'GET',
-    HTTP_HOST       => 'localhost',
-    SERVER_PROTOCOL => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 11,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded',
+  PATH_INFO       => '/foo/bar',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'GET',
+  HTTP_HOST       => 'localhost',
+  SERVER_PROTOCOL => 'HTTP/1.0'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'GET', 'right method';
@@ -390,17 +368,15 @@
 
 # Parse Apache 2.2.11 CGI environment variables and body (no PATH_INFO)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 11,
-    CONTENT_TYPE    => 'application/x-www-form-urlencoded',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'GET',
-    SCRIPT_NAME     => '/test/index.cgi',
-    HTTP_HOST       => 'localhost',
-    SERVER_PROTOCOL => 'HTTP/1.0'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 11,
+  CONTENT_TYPE    => 'application/x-www-form-urlencoded',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'GET',
+  SCRIPT_NAME     => '/test/index.cgi',
+  HTTP_HOST       => 'localhost',
+  SERVER_PROTOCOL => 'HTTP/1.0'
+});
 $req->parse('hello=world');
 ok $req->is_finished, 'request is finished';
 is $req->method, 'GET', 'right method';
@@ -415,17 +391,15 @@
 
 # Parse Apache 2.2.9 CGI environment variables (root without PATH_INFO)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    SCRIPT_NAME     => '/cgi-bin/myapp/myapp.pl',
-    HTTP_CONNECTION => 'keep-alive',
-    HTTP_HOST       => 'getmyapp.org',
-    REQUEST_METHOD  => 'GET',
-    QUERY_STRING    => '',
-    REQUEST_URI     => '/cgi-bin/myapp/myapp.pl',
-    SERVER_PROTOCOL => 'HTTP/1.1',
-  }
-);
+$req->parse({
+  SCRIPT_NAME     => '/cgi-bin/myapp/myapp.pl',
+  HTTP_CONNECTION => 'keep-alive',
+  HTTP_HOST       => 'getmyapp.org',
+  REQUEST_METHOD  => 'GET',
+  QUERY_STRING    => '',
+  REQUEST_URI     => '/cgi-bin/myapp/myapp.pl',
+  SERVER_PROTOCOL => 'HTTP/1.1',
+});
 ok $req->is_finished, 'request is finished';
 is $req->method, 'GET', 'right method';
 is $req->url->base->host, 'getmyapp.org', 'right base host';
@@ -438,34 +412,32 @@
 # Parse Apache mod_fastcgi CGI environment variables (multipart file upload)
 $req = Mojo::Message::Request->new;
 is $req->content->progress, 0, 'right progress';
-$req->parse(
-  {
-    SCRIPT_NAME      => '',
-    SERVER_NAME      => '127.0.0.1',
-    SERVER_ADMIN     => '[no address given]',
-    PATH_INFO        => '/upload',
-    HTTP_CONNECTION  => 'Keep-Alive',
-    REQUEST_METHOD   => 'POST',
-    CONTENT_LENGTH   => '139',
-    SCRIPT_FILENAME  => '/tmp/SnLu1cQ3t2/test.fcgi',
-    SERVER_SOFTWARE  => 'Apache/2.2.14 (Unix) mod_fastcgi/2.4.2',
-    QUERY_STRING     => '',
-    REMOTE_PORT      => '58232',
-    HTTP_USER_AGENT  => 'Mojolicious (Perl)',
-    SERVER_PORT      => '13028',
-    SERVER_SIGNATURE => '',
-    REMOTE_ADDR      => '127.0.0.1',
-    CONTENT_TYPE     => 'multipart/form-data; boundary=8jXGX',
-    SERVER_PROTOCOL  => 'HTTP/1.1',
-    PATH => '/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin',
-    REQUEST_URI       => '/upload',
-    GATEWAY_INTERFACE => 'CGI/1.1',
-    SERVER_ADDR       => '127.0.0.1',
-    DOCUMENT_ROOT     => '/tmp/SnLu1cQ3t2',
-    PATH_TRANSLATED   => '/tmp/test.fcgi/upload',
-    HTTP_HOST         => '127.0.0.1:13028'
-  }
-);
+$req->parse({
+  SCRIPT_NAME      => '',
+  SERVER_NAME      => '127.0.0.1',
+  SERVER_ADMIN     => '[no address given]',
+  PATH_INFO        => '/upload',
+  HTTP_CONNECTION  => 'Keep-Alive',
+  REQUEST_METHOD   => 'POST',
+  CONTENT_LENGTH   => '139',
+  SCRIPT_FILENAME  => '/tmp/SnLu1cQ3t2/test.fcgi',
+  SERVER_SOFTWARE  => 'Apache/2.2.14 (Unix) mod_fastcgi/2.4.2',
+  QUERY_STRING     => '',
+  REMOTE_PORT      => '58232',
+  HTTP_USER_AGENT  => 'Mojolicious (Perl)',
+  SERVER_PORT      => '13028',
+  SERVER_SIGNATURE => '',
+  REMOTE_ADDR      => '127.0.0.1',
+  CONTENT_TYPE     => 'multipart/form-data; boundary=8jXGX',
+  SERVER_PROTOCOL  => 'HTTP/1.1',
+  PATH        => 
'/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin',
+  REQUEST_URI => '/upload',
+  GATEWAY_INTERFACE => 'CGI/1.1',
+  SERVER_ADDR       => '127.0.0.1',
+  DOCUMENT_ROOT     => '/tmp/SnLu1cQ3t2',
+  PATH_TRANSLATED   => '/tmp/test.fcgi/upload',
+  HTTP_HOST         => '127.0.0.1:13028'
+});
 is $req->content->progress, 0, 'right progress';
 $req->parse("--8jXGX\x0d\x0a");
 is $req->content->progress, 9, 'right progress';
@@ -492,19 +464,17 @@
 
 # Parse IIS 7.5 like CGI environment (HTTPS=off)
 $req = Mojo::Message::Request->new;
-$req->parse(
-  {
-    CONTENT_LENGTH  => 0,
-    PATH_INFO       => '/index.pl/',
-    SERVER_SOFTWARE => 'Microsoft-IIS/7.5',
-    QUERY_STRING    => '',
-    REQUEST_METHOD  => 'GET',
-    SCRIPT_NAME     => '/index.pl',
-    HTTP_HOST       => 'test',
-    HTTPS           => 'off',
-    SERVER_PROTOCOL => 'HTTP/1.1'
-  }
-);
+$req->parse({
+  CONTENT_LENGTH  => 0,
+  PATH_INFO       => '/index.pl/',
+  SERVER_SOFTWARE => 'Microsoft-IIS/7.5',
+  QUERY_STRING    => '',
+  REQUEST_METHOD  => 'GET',
+  SCRIPT_NAME     => '/index.pl',
+  HTTP_HOST       => 'test',
+  HTTPS           => 'off',
+  SERVER_PROTOCOL => 'HTTP/1.1'
+});
 ok $req->is_finished, 'request is finished';
 is $req->method, 'GET', 'right method';
 is $req->url->path, '', 'right URL';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/transactor.t 
new/Mojolicious-7.67/t/mojo/transactor.t
--- old/Mojolicious-7.66/t/mojo/transactor.t    2018-01-03 13:49:03.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/transactor.t    2018-02-19 00:42:59.000000000 
+0100
@@ -185,7 +185,7 @@
 $tx
   = $t->tx(POST => 'http://example.com/foo' =>
     {'Content-Type' => 'multipart/form-data'} => form =>
-    {'♥' => '☃', nothing => undef});
+    {'♥'          => '☃', nothing => undef});
 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',
@@ -223,7 +223,7 @@
 $tx
   = $t->tx(POST => 'http://example.com/foo' =>
     {'Content-Type' => 'multipart/form-data'} => form =>
-    {a => [1, 2, 3], b => 4});
+    {a              => [1, 2, 3], b => 4});
 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',
@@ -265,7 +265,7 @@
 $tx
   = $t->tx(POST => 'http://example.com/foo' =>
     {'Content-Type' => 'multipart/mojo-form'} => form =>
-    {mytext => {file => Mojo::Asset::File->new(path => __FILE__)}});
+    {mytext         => {file => Mojo::Asset::File->new(path => __FILE__)}});
 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/mojo-form',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/user_agent.t 
new/Mojolicious-7.67/t/mojo/user_agent.t
--- old/Mojolicious-7.66/t/mojo/user_agent.t    2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/user_agent.t    2018-02-19 00:43:04.000000000 
+0100
@@ -136,12 +136,10 @@
 my @results;
 my $p1 = $ua->get_p('/');
 my $p2 = $ua->get_p('/');
-Mojo::Promise->all($p1, $p2)->then(
-  sub {
-    my ($first, $second) = @_;
-    push @results, $first, $second;
-  }
-)->wait;
+Mojo::Promise->all($p1, $p2)->then(sub {
+  my ($first, $second) = @_;
+  push @results, $first, $second;
+})->wait;
 ok $results[0][0]->success, 'successful';
 is $results[0][0]->res->code, 200,      'right status';
 is $results[0][0]->res->body, 'works!', 'right content';
@@ -607,16 +605,14 @@
 $ua->get(
   '/' => sub {
     push @kept_alive, pop->kept_alive;
-    Mojo::IOLoop->next_tick(
-      sub {
-        $ua->get(
-          '/' => sub {
-            push @kept_alive, pop->kept_alive;
-            Mojo::IOLoop->next_tick(sub { Mojo::IOLoop->stop });
-          }
-        );
-      }
-    );
+    Mojo::IOLoop->next_tick(sub {
+      $ua->get(
+        '/' => sub {
+          push @kept_alive, pop->kept_alive;
+          Mojo::IOLoop->next_tick(sub { Mojo::IOLoop->stop });
+        }
+      );
+    });
   }
 );
 Mojo::IOLoop->start;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/websocket.t 
new/Mojolicious-7.67/t/mojo/websocket.t
--- old/Mojolicious-7.66/t/mojo/websocket.t     2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojo/websocket.t     2018-02-19 00:42:46.000000000 
+0100
@@ -336,16 +336,14 @@
 
 # Promises
 $result = undef;
-$ua->websocket_p('/trim')->then(
-  sub {
-    my $tx      = shift;
-    my $promise = Mojo::Promise->new;
-    $tx->on(finish => sub { $promise->resolve });
-    $tx->on(message => sub { shift->finish; $result = pop });
-    $tx->send(' also works! ');
-    return $promise;
-  }
-)->wait;
+$ua->websocket_p('/trim')->then(sub {
+  my $tx      = shift;
+  my $promise = Mojo::Promise->new;
+  $tx->on(finish => sub { $promise->resolve });
+  $tx->on(message => sub { shift->finish; $result = pop });
+  $tx->send(' also works! ');
+  return $promise;
+})->wait;
 is $result, 'also works!', 'right result';
 $result = undef;
 $ua->websocket_p('/foo')->then(sub { $result = 'test failed' })
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojo/websocket_proxy_tls.t 
new/Mojolicious-7.67/t/mojo/websocket_proxy_tls.t
--- old/Mojolicious-7.66/t/mojo/websocket_proxy_tls.t   2018-01-03 
14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojo/websocket_proxy_tls.t   2018-02-19 
00:43:00.000000000 +0100
@@ -206,14 +206,10 @@
 is $tx->res->body, "https://127.0.0.1:$port/proxy";, 'right content';
 
 # Failed TLS handshake through proxy
-my $close = Mojo::IOLoop->acceptor(
-  Mojo::IOLoop->server(
-    sub {
-      my ($loop, $stream) = @_;
-      $stream->on(read => sub { shift->close });
-    }
-  )
-)->port;
+my $close = Mojo::IOLoop->acceptor(Mojo::IOLoop->server(sub {
+  my ($loop, $stream) = @_;
+  $stream->on(read => sub { shift->close });
+}))->port;
 $id = Mojo::TestConnectProxy::proxy({address => '127.0.0.1'},
   {address => '127.0.0.1', port => $close});
 my $proxy2 = Mojo::IOLoop->acceptor($id)->port;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojolicious/group_lite_app.t 
new/Mojolicious-7.67/t/mojolicious/group_lite_app.t
--- old/Mojolicious-7.66/t/mojolicious/group_lite_app.t 2018-01-03 
14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojolicious/group_lite_app.t 2018-02-19 
00:43:16.000000000 +0100
@@ -34,13 +34,11 @@
 under '/suspended' => sub {
   my $c = shift;
 
-  Mojo::IOLoop->next_tick(
-    sub {
-      return $c->render(text => 'stopped!') unless $c->param('ok');
-      $c->stash(suspended => 'suspended!');
-      $c->continue;
-    }
-  );
+  Mojo::IOLoop->next_tick(sub {
+    return $c->render(text => 'stopped!') unless $c->param('ok');
+    $c->stash(suspended => 'suspended!');
+    $c->continue;
+  });
 
   return 0;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Mojolicious-7.66/t/mojolicious/lib/MojoliciousTest/Foo.pm 
new/Mojolicious-7.67/t/mojolicious/lib/MojoliciousTest/Foo.pm
--- old/Mojolicious-7.66/t/mojolicious/lib/MojoliciousTest/Foo.pm       
2018-01-03 14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojolicious/lib/MojoliciousTest/Foo.pm       
2018-02-19 00:44:22.000000000 +0100
@@ -65,12 +65,10 @@
   my $self = shift;
 
   $self->res->headers->append('X-Suspended' => $self->match->position);
-  Mojo::IOLoop->next_tick(
-    sub {
-      $self->res->headers->append('X-Suspended' => $self->match->position);
-      $self->continue;
-    }
-  );
+  Mojo::IOLoop->next_tick(sub {
+    $self->res->headers->append('X-Suspended' => $self->match->position);
+    $self->continue;
+  });
 
   return 0;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojolicious/lite_app.t 
new/Mojolicious-7.67/t/mojolicious/lite_app.t
--- old/Mojolicious-7.66/t/mojolicious/lite_app.t       2018-02-11 
16:56:55.000000000 +0100
+++ new/Mojolicious-7.67/t/mojolicious/lite_app.t       2018-02-19 
00:43:14.000000000 +0100
@@ -263,13 +263,11 @@
 get '/session_cookie' => sub {
   my $c = shift;
   $c->render(text => 'Cookie set!');
-  $c->res->cookies(
-    Mojo::Cookie::Response->new(
-      path  => '/session_cookie',
-      name  => 'session',
-      value => '23'
-    )
-  );
+  $c->res->cookies(Mojo::Cookie::Response->new(
+    path  => '/session_cookie',
+    name  => 'session',
+    value => '23'
+  ));
 };
 
 get '/session_cookie/2' => sub {
@@ -374,13 +372,11 @@
 
 get '/redirect_callback' => sub {
   my $c = shift;
-  Mojo::IOLoop->next_tick(
-    sub {
-      $c->res->code(301);
-      $c->res->body('Whatever!');
-      $c->redirect_to('http://127.0.0.1/foo');
-    }
-  );
+  Mojo::IOLoop->next_tick(sub {
+    $c->res->code(301);
+    $c->res->body('Whatever!');
+    $c->redirect_to('http://127.0.0.1/foo');
+  });
 };
 
 get '/static' => sub { shift->reply->static('hello.txt') };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojolicious/restful_lite_app.t 
new/Mojolicious-7.67/t/mojolicious/restful_lite_app.t
--- old/Mojolicious-7.66/t/mojolicious/restful_lite_app.t       2018-01-03 
13:49:16.000000000 +0100
+++ new/Mojolicious-7.67/t/mojolicious/restful_lite_app.t       2018-02-19 
00:43:16.000000000 +0100
@@ -39,7 +39,7 @@
     json => {json => {just => 'works too'}},
     html => {text => '<html><body>works too'},
     xml  => {data => '<just>works too</just>'},
-    any => {text => 'works too', status => 201}
+    any  => {text => 'works too', status => 201}
   );
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojolicious/routes.t 
new/Mojolicious-7.67/t/mojolicious/routes.t
--- old/Mojolicious-7.66/t/mojolicious/routes.t 2018-01-03 14:03:42.000000000 
+0100
+++ new/Mojolicious-7.67/t/mojolicious/routes.t 2018-02-19 00:43:06.000000000 
+0100
@@ -522,8 +522,8 @@
 $m = Mojolicious::Routes::Match->new(root => $r);
 $m->find($c => {method => 'GET', path => '/wildcards/4/hello/there/foo'});
 is_deeply $m->stack,
-  [{controller => 'somewhat', action => 'dangerous', wildcard => 'hello/there'}
-  ], 'right structure';
+  [{controller => 'somewhat', action => 'dangerous', wildcard => 'hello/there'
+  }], 'right structure';
 is $m->path_for->{path}, '/wildcards/4/hello/there/foo', 'right path';
 
 # Special characters
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.66/t/mojolicious/validation_lite_app.t 
new/Mojolicious-7.67/t/mojolicious/validation_lite_app.t
--- old/Mojolicious-7.66/t/mojolicious/validation_lite_app.t    2018-01-03 
14:03:42.000000000 +0100
+++ new/Mojolicious-7.67/t/mojolicious/validation_lite_app.t    2018-02-19 
00:43:05.000000000 +0100
@@ -164,13 +164,11 @@
 is_deeply $validation->error('yada'), [qw(size 1 5 10)], 'right error';
 
 # Upload
-$validation = $t->app->validation->input(
-  {
-    foo => Mojo::Upload->new,
-    bar => [Mojo::Upload->new, Mojo::Upload->new],
-    baz => [Mojo::Upload->new, 'test']
-  }
-);
+$validation = $t->app->validation->input({
+  foo => Mojo::Upload->new,
+  bar => [Mojo::Upload->new, Mojo::Upload->new],
+  baz => [Mojo::Upload->new, 'test']
+});
 ok $validation->required('foo')->upload->is_valid, 'valid';
 ok $validation->required('bar')->upload->is_valid, 'valid';
 ok $validation->required('baz')->is_valid, 'valid';
@@ -181,18 +179,15 @@
 is_deeply $validation->failed, ['baz'], 'right names';
 
 # Upload size
-$validation = $t->app->validation->input(
-  {
-    foo => [
-      Mojo::Upload->new(asset => Mojo::Asset::Memory->new->add_chunk('valid'))
-    ],
-    bar => [
-      Mojo::Upload->new(
-        asset => Mojo::Asset::Memory->new->add_chunk('not valid')
-      )
-    ]
-  }
-);
+$validation = $t->app->validation->input({
+  foo =>
+    [Mojo::Upload->new(asset => Mojo::Asset::Memory->new->add_chunk('valid'))],
+  bar => [
+    Mojo::Upload->new(
+      asset => Mojo::Asset::Memory->new->add_chunk('not valid')
+    )
+  ]
+});
 ok $validation->required('foo')->upload->size(1, 6)->is_valid, 'valid';
 ok !$validation->has_error, 'no error';
 ok !$validation->required('bar')->upload->size(1, 6)->is_valid, 'not valid';


Reply via email to