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
+
+- 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 "
],
"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();