Hello community, here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2017-11-21 15:20:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old) and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious" Tue Nov 21 15:20:54 2017 rev:82 rq:543260 version:7.57 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2017-11-10 14:42:31.104359371 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes 2017-11-21 15:21:05.593738566 +0100 @@ -1,0 +2,19 @@ +Sun Nov 19 06:36:59 UTC 2017 - co...@suse.com + +- updated to 7.57 + see /usr/share/doc/packages/perl-Mojolicious/Changes + + 7.57 2017-11-18 + - Fixed installation problems with some versions of Perl on Windows. + +------------------------------------------------------------------- +Fri Nov 17 06:36:35 UTC 2017 - co...@suse.com + +- updated to 7.56 + see /usr/share/doc/packages/perl-Mojolicious/Changes + + 7.56 2017-11-14 + - Added num check to Mojolicious::Validator. + - Improved built-in templates with high resolution logos. + +------------------------------------------------------------------- Old: ---- Mojolicious-7.55.tar.gz New: ---- Mojolicious-7.57.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mojolicious.spec ++++++ --- /var/tmp/diff_new_pack.cSIDYV/_old 2017-11-21 15:21:09.741588202 +0100 +++ /var/tmp/diff_new_pack.cSIDYV/_new 2017-11-21 15:21:09.741588202 +0100 @@ -17,7 +17,7 @@ Name: perl-Mojolicious -Version: 7.55 +Version: 7.57 Release: 0 %define cpan_name Mojolicious Summary: Real-time web framework ++++++ Mojolicious-7.55.tar.gz -> Mojolicious-7.57.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/Changes new/Mojolicious-7.57/Changes --- old/Mojolicious-7.55/Changes 2017-11-06 22:57:07.000000000 +0100 +++ new/Mojolicious-7.57/Changes 2017-11-18 17:05:36.000000000 +0100 @@ -1,4 +1,11 @@ +7.57 2017-11-18 + - Fixed installation problems with some versions of Perl on Windows. + +7.56 2017-11-14 + - Added num check to Mojolicious::Validator. + - Improved built-in templates with high resolution logos. + 7.55 2017-11-06 - Added -role flag to Mojo::Base. (jberger) - Improved tablify function in Mojo::Util to work with non-rectangular arrays. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/MANIFEST new/Mojolicious-7.57/MANIFEST --- old/Mojolicious-7.55/MANIFEST 2017-11-07 11:57:36.000000000 +0100 +++ new/Mojolicious-7.57/MANIFEST 2017-11-18 17:10:05.000000000 +0100 @@ -120,7 +120,9 @@ lib/Mojolicious/resources/public/favicon.ico lib/Mojolicious/resources/public/mojo/failraptor.png lib/Mojolicious/resources/public/mojo/jquery/jquery.js +lib/Mojolicious/resources/public/mojo/logo-black-2x.png lib/Mojolicious/resources/public/mojo/logo-black.png +lib/Mojolicious/resources/public/mojo/logo-white-2x.png lib/Mojolicious/resources/public/mojo/logo-white.png lib/Mojolicious/resources/public/mojo/noraptor.png lib/Mojolicious/resources/public/mojo/notfound.png @@ -129,7 +131,6 @@ lib/Mojolicious/resources/public/mojo/prettify/prettify-mojo-dark.css lib/Mojolicious/resources/public/mojo/prettify/prettify-mojo-light.css lib/Mojolicious/resources/public/mojo/prettify/run_prettify.js -lib/Mojolicious/resources/public/mojo/stripes.png lib/Mojolicious/resources/templates/mojo/debug.html.ep lib/Mojolicious/resources/templates/mojo/exception.html.ep lib/Mojolicious/resources/templates/mojo/menubar.html.ep diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/META.json new/Mojolicious-7.57/META.json --- old/Mojolicious-7.55/META.json 2017-11-07 11:57:36.000000000 +0100 +++ new/Mojolicious-7.57/META.json 2017-11-18 17:10:05.000000000 +0100 @@ -58,6 +58,6 @@ }, "x_IRC" : "irc://irc.perl.org/#mojo" }, - "version" : "7.55", + "version" : "7.57", "x_serialization_backend" : "JSON::PP version 2.94" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/META.yml new/Mojolicious-7.57/META.yml --- old/Mojolicious-7.55/META.yml 2017-11-07 11:57:36.000000000 +0100 +++ new/Mojolicious-7.57/META.yml 2017-11-18 17:10:05.000000000 +0100 @@ -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.55' +version: '7.57' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojo/Base.pm new/Mojolicious-7.57/lib/Mojo/Base.pm --- old/Mojolicious-7.55/lib/Mojo/Base.pm 2017-11-06 20:25:15.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojo/Base.pm 2017-11-07 23:23:42.000000000 +0100 @@ -76,9 +76,8 @@ } # Module - elsif ((my $file = $flags[0]) && !$flags[0]->can('new')) { - $file =~ s!::|'!/!g; - require "$file.pm"; + elsif ($flags[0] && !$flags[0]->can('new')) { + require(Mojo::Util::class_to_path($flags[0])); } # "has" and possibly ISA diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojo/IOLoop/Client.pm new/Mojolicious-7.57/lib/Mojo/IOLoop/Client.pm --- old/Mojolicious-7.55/lib/Mojo/IOLoop/Client.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojo/IOLoop/Client.pm 2017-11-07 21:49:28.000000000 +0100 @@ -12,13 +12,13 @@ # Non-blocking name resolution requires Net::DNS::Native use constant NNR => $ENV{MOJO_NO_NNR} ? 0 - : eval 'use Net::DNS::Native 0.15 (); 1'; + : eval { require Net::DNS::Native; Net::DNS::Native->VERSION('0.15'); 1 }; my $NDN = NNR ? Net::DNS::Native->new(pool => 5, extra_thread => 1) : undef; # SOCKS support requires IO::Socket::Socks use constant SOCKS => $ENV{MOJO_NO_SOCKS} ? 0 - : eval 'use IO::Socket::Socks 0.64 (); 1'; + : eval { require IO::Socket::Socks; IO::Socket::Socks->VERSION('0.64'); 1 }; use constant READ => SOCKS ? IO::Socket::Socks::SOCKS_WANT_READ() : 0; use constant WRITE => SOCKS ? IO::Socket::Socks::SOCKS_WANT_WRITE() : 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojo/IOLoop/Delay.pm new/Mojolicious-7.57/lib/Mojo/IOLoop/Delay.pm --- old/Mojolicious-7.55/lib/Mojo/IOLoop/Delay.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojo/IOLoop/Delay.pm 2017-11-13 17:34:16.000000000 +0100 @@ -150,7 +150,7 @@ use Mojo::IOLoop; # Instead of nested closures we now have a simple chain of steps - my $delay = Mojo::IOloop->delay( + my $delay = Mojo::IOLoop->delay( sub { my $delay = shift; Mojo::IOLoop->timer(3 => $delay->begin); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojo/IOLoop/TLS.pm new/Mojolicious-7.57/lib/Mojo/IOLoop/TLS.pm --- old/Mojolicious-7.55/lib/Mojo/IOLoop/TLS.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojo/IOLoop/TLS.pm 2017-11-07 21:49:18.000000000 +0100 @@ -8,7 +8,7 @@ # TLS support requires IO::Socket::SSL use constant TLS => $ENV{MOJO_NO_TLS} ? 0 - : eval 'use IO::Socket::SSL 1.94 (); 1'; + : eval { require IO::Socket::SSL; IO::Socket::SSL->VERSION('1.94'); 1 }; use constant DEFAULT => eval { IO::Socket::SSL->VERSION('1.965') } ? \undef : ''; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojo/Reactor/Poll.pm new/Mojolicious-7.57/lib/Mojo/Reactor/Poll.pm --- old/Mojolicious-7.55/lib/Mojo/Reactor/Poll.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojo/Reactor/Poll.pm 2017-11-14 18:37:02.000000000 +0100 @@ -14,7 +14,7 @@ sub io { my ($self, $handle, $cb) = @_; - $self->{io}{fileno $handle} = {cb => $cb}; + $self->{io}{fileno($handle) // croak 'Handle is closed'} = {cb => $cb}; return $self->watch($handle, 1, 1); } @@ -88,7 +88,7 @@ sub remove { my ($self, $remove) = @_; return !!delete $self->{timers}{$remove} unless ref $remove; - return !!delete $self->{io}{fileno $remove}; + return !!delete $self->{io}{fileno($remove) // croak 'Handle is closed'}; } sub reset { delete @{shift()}{qw(events io next_tick next_timer timers)} } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious/Plugin/PODRenderer.pm new/Mojolicious-7.57/lib/Mojolicious/Plugin/PODRenderer.pm --- old/Mojolicious-7.55/lib/Mojolicious/Plugin/PODRenderer.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious/Plugin/PODRenderer.pm 2017-11-13 17:38:44.000000000 +0100 @@ -47,8 +47,8 @@ # Rewrite code blocks for syntax highlighting and correct indentation for my $e ($dom->find('pre > code')->each) { - my $str = $e->content; - next if $str =~ /^\s*(?:\$|Usage:)\s+/m || $str !~ /[\$\@\%]\w|->\w/m; + next if (my $str = $e->content) =~ /^\s*(?:\$|Usage:)\s+/m; + next unless $str =~ /[\$\@\%]\w|->\w|^use\s+\w/m; my $attrs = $e->attr; my $class = $attrs->{class}; $attrs->{class} = defined $class ? "$class prettyprint" : 'prettyprint'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious/Validator.pm new/Mojolicious-7.57/lib/Mojolicious/Validator.pm --- old/Mojolicious-7.55/lib/Mojolicious/Validator.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious/Validator.pm 2017-11-16 13:44:40.000000000 +0100 @@ -9,6 +9,7 @@ equal_to => \&_equal_to, in => \&_in, like => sub { $_[2] !~ $_[3] }, + num => \&_num, size => \&_size, upload => sub { !ref $_[2] || !$_[2]->isa('Mojo::Upload') } }; @@ -34,6 +35,12 @@ return 1; } +sub _num { + my ($validation, $name, $value, $min, $max) = @_; + return 1 if $value !~ /^[0-9]+$/; + return defined $min && $max ? $min > $value || $max < $value : undef; +} + sub _size { my ($validation, $name, $value, $min, $max) = @_; my $len = ref $value ? $value->size : length $value; @@ -86,6 +93,14 @@ String value needs to match the regular expression. +=head2 num + + $validation = $validation->num; + $validation = $validation->num(2, 5); + +String value needs to be a non-fractional number and if provided in the given +range. + =head2 size $validation = $validation->size(2, 5); @@ -120,7 +135,7 @@ $validator = $validator->checks({size => sub {...}}); Registered validation checks, by default only L</"equal_to">, L</"in">, -L</"like">, L</"size"> and L</"upload"> are already defined. +L</"like">, L</"num">, L</"size"> and L</"upload"> are already defined. =head1 METHODS Binary files old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/logo-black-2x.png and new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/logo-black-2x.png differ Binary files old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/logo-black.png and new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/logo-black.png differ Binary files old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/logo-white-2x.png and new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/logo-white-2x.png differ Binary files old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/logo-white.png and new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/logo-white.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/prettify/prettify-mojo-light.css new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/prettify/prettify-mojo-light.css --- old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/prettify/prettify-mojo-light.css 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/prettify/prettify-mojo-light.css 2017-11-13 18:48:45.000000000 +0100 @@ -1 +1 @@ -.str{color:#718c00}.kwd{color:#8959a8}.com{color:#8e908c}.typ,.dec{color:#f5871f}.lit,.atn{color:#eab700}.pun,.opn,.clo,.pln{color:#4d4d4c}.tag,.var,.fun{color:#c82829}.atv{color:#3e999f}pre.prettyprint{border:1px solid #c1c1c1;padding:1em} +.str{color:#50a14f}.kwd{color:#a626a4}.com{color:#a0a1a7}.typ,.dec{color:#c18401} .lit,.atn{color:#0184bc} .pun,.opn,.clo,.pln{color:#383a42} .tag,.var,.fun{color:#e45649} .atv{color:#4078f2} pre.prettyprint{border:1px solid #c1c1c1;padding:1em} Binary files old/Mojolicious-7.55/lib/Mojolicious/resources/public/mojo/stripes.png and new/Mojolicious-7.57/lib/Mojolicious/resources/public/mojo/stripes.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious/resources/templates/mojo/debug.html.ep new/Mojolicious-7.57/lib/Mojolicious/resources/templates/mojo/debug.html.ep --- old/Mojolicious-7.55/lib/Mojolicious/resources/templates/mojo/debug.html.ep 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious/resources/templates/mojo/debug.html.ep 2017-11-18 17:04:57.000000000 +0100 @@ -83,7 +83,7 @@ text-shadow: #333 0 1px 0; } #footer { - padding-top: 1em; + padding-top: 0.5em; text-align: center; } #nothing { @@ -131,7 +131,7 @@ <body> %= include 'mojo/menubar' <script> - function mojoDrawer (handle, drawer) { + function mojoDrawer(handle, drawer) { $(handle).on('click', function () { $(drawer).slideToggle('slow'); var text = $(handle + ' div.tap').text(); @@ -194,7 +194,7 @@ <div class="tap">tap for more</div> <script> var current = '#context'; - function mojoShowcase () { + function mojoShowcase() { $('#showcase').on('click', function () { $(this).unbind('click'); $(current).slideToggle('slow', function () { @@ -324,7 +324,11 @@ </div> <div id="footer"> %= link_to 'http://mojolicious.org' => begin - %= image '/mojo/logo-black.png', alt => 'Mojolicious logo' + <picture> + <img src="<%= url_for '/mojo/logo-black.png' %>" + srcset="<%= url_for '/mojo/logo-black-2x.png' %> 2x" + alt="Mojolicious logo"> + </picture> % end </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious/resources/templates/mojo/menubar.html.ep new/Mojolicious-7.57/lib/Mojolicious/resources/templates/mojo/menubar.html.ep --- old/Mojolicious-7.55/lib/Mojolicious/resources/templates/mojo/menubar.html.ep 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious/resources/templates/mojo/menubar.html.ep 2017-11-18 17:05:03.000000000 +0100 @@ -10,26 +10,20 @@ height: 46px; overflow: hidden; position: absolute; - text-align: right; - vertical-align: middle; width: 100%; z-index: 1000; } - #mojobar-content { - margin: 0 auto; - max-width: 1000px; - } - #mojobar-logo { - float: left; - margin-left: 5em; + #mojobar-brand { + display: inline-block; + padding-left: 50px; padding-top: 4px; } #mojobar-links { - display:table-cell; + display: inline; float: right; height: 60px; - margin-right: 5em; margin-top: 0.8em; + padding-right: 50px; } #mojobar-links a { color: #bbb; @@ -57,27 +51,26 @@ #mojobar-links form { display: inline } .animated { transition: all 0.25s ease } </style> - <div id="mojobar-content"> - <div id="mojobar-logo"> - %= link_to 'http://mojolicious.org' => begin - %= image '/mojo/logo-white.png', alt => 'Mojolicious logo' - % end - </div> - <div id="mojobar-links"> - %= link_to Documentation => 'http://mojolicious.org/perldoc' - %= link_to Chat => 'https://chat.mibbit.com/?channel=%23mojo&server=irc.perl.org' - %= link_to Wiki => 'https://github.com/kraih/mojo/wiki' - %= link_to GitHub => 'https://github.com/kraih/mojo' - %= link_to CPAN => 'https://metacpan.org/release/Mojolicious/' - %= link_to MailingList => 'https://groups.google.com/group/mojolicious' - %= link_to Blog => 'http://blog.mojolicious.org' - %= link_to Twitter => 'https://twitter.com/kraih' - %= form_for 'https://www.google.com/cse' => (target => '_blank') => begin - %= hidden_field cx => '014527573091551588235:pwfplkjpgbi' - %= hidden_field ie => 'UTF-8' - %= search_field 'q', placeholder => 'Search' - %= end - </div> + %= link_to 'http://mojolicious.org' => (id => 'mojobar-brand') => begin + <picture> + <img src="<%= url_for '/mojo/logo-white.png' %>" + srcset="<%= url_for '/mojo/logo-white-2x.png' %> 2x"> + </picture> + % end + <div id="mojobar-links"> + %= link_to Documentation => 'http://mojolicious.org/perldoc' + %= link_to Chat => 'https://chat.mibbit.com/?channel=%23mojo&server=irc.perl.org' + %= link_to Wiki => 'https://github.com/kraih/mojo/wiki' + %= link_to GitHub => 'https://github.com/kraih/mojo' + %= link_to CPAN => 'https://metacpan.org/release/Mojolicious/' + %= link_to MailingList => 'https://groups.google.com/group/mojolicious' + %= link_to Blog => 'http://blog.mojolicious.org' + %= link_to Twitter => 'https://twitter.com/kraih' + %= form_for 'https://www.google.com/cse' => (target => '_blank') => begin + %= hidden_field cx => '014527573091551588235:pwfplkjpgbi' + %= hidden_field ie => 'UTF-8' + %= search_field 'q', placeholder => 'Search' + %= end </div> </div> <script> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious/resources/templates/mojo/perldoc.html.ep new/Mojolicious-7.57/lib/Mojolicious/resources/templates/mojo/perldoc.html.ep --- old/Mojolicious-7.55/lib/Mojolicious/resources/templates/mojo/perldoc.html.ep 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious/resources/templates/mojo/perldoc.html.ep 2017-11-18 17:05:11.000000000 +0100 @@ -46,7 +46,7 @@ margin-top: 0; } pre { - background: url(<%= url_for '/mojo/stripes.png' %>); + background-color: #fafafa; border: 1px solid #c1c1c1; border-radius: 3px; font: 100% Consolas, Menlo, Monaco, Courier, monospace; @@ -62,7 +62,7 @@ } ul { list-style-type: square } #footer { - padding-top: 1em; + padding-top: 0.5em; text-align: center; } #more { @@ -133,7 +133,11 @@ </div> <div id="footer"> %= link_to 'http://mojolicious.org' => begin - %= image '/mojo/logo-black.png', alt => 'Mojolicious logo' + <picture> + <img src="<%= url_for '/mojo/logo-black.png' %>" + srcset="<%= url_for '/mojo/logo-black-2x.png' %> 2x" + alt="Mojolicious logo"> + </picture> % end </div> </body> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/lib/Mojolicious.pm new/Mojolicious-7.57/lib/Mojolicious.pm --- old/Mojolicious-7.55/lib/Mojolicious.pm 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/lib/Mojolicious.pm 2017-11-16 14:33:08.000000000 +0100 @@ -58,7 +58,7 @@ has validator => sub { Mojolicious::Validator->new }; our $CODENAME = 'Doughnut'; -our $VERSION = '7.55'; +our $VERSION = '7.57'; sub AUTOLOAD { my $self = shift; @@ -157,8 +157,8 @@ my $self = shift->SUPER::new(@_); my $home = $self->home; - push @{$self->renderer->paths}, $home->child('templates'); - push @{$self->static->paths}, $home->child('public'); + push @{$self->renderer->paths}, $home->child('templates')->to_string; + push @{$self->static->paths}, $home->child('public')->to_string; # Default to controller and application namespace my $r = $self->routes->namespaces(["@{[ref $self]}::Controller", ref $self]); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/t/mojo/reactor_ev.t new/Mojolicious-7.57/t/mojo/reactor_ev.t --- old/Mojolicious-7.55/t/mojo/reactor_ev.t 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/t/mojo/reactor_ev.t 2017-11-07 21:49:42.000000000 +0100 @@ -4,7 +4,8 @@ plan skip_all => 'set TEST_EV to enable this test (developer only!)' unless $ENV{TEST_EV}; -plan skip_all => 'EV 4.0+ required for this test!' unless eval 'use EV 4.0; 1'; +plan skip_all => 'EV 4.0+ required for this test!' + unless eval { require EV; EV->VERSION('4.0'); 1 }; use IO::Socket::INET; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/t/mojolicious/exception_lite_app.t new/Mojolicious-7.57/t/mojolicious/exception_lite_app.t --- old/Mojolicious-7.55/t/mojolicious/exception_lite_app.t 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/t/mojolicious/exception_lite_app.t 2017-11-18 17:02:54.000000000 +0100 @@ -256,15 +256,18 @@ ->content_type_is('image/png'); $t->get_ok('/mojo/logo-black.png')->status_is(200) ->content_type_is('image/png'); +$t->get_ok('/mojo/logo-black-2x.png')->status_is(200) + ->content_type_is('image/png'); $t->get_ok('/mojo/logo-white.png')->status_is(200) ->content_type_is('image/png'); +$t->get_ok('/mojo/logo-white-2x.png')->status_is(200) + ->content_type_is('image/png'); $t->get_ok('/mojo/noraptor.png')->status_is(200)->content_type_is('image/png'); $t->get_ok('/mojo/notfound.png')->status_is(200)->content_type_is('image/png'); $t->get_ok('/mojo/pinstripe-dark.png')->status_is(200) ->content_type_is('image/png'); $t->get_ok('/mojo/pinstripe-light.png')->status_is(200) ->content_type_is('image/png'); -$t->get_ok('/mojo/stripes.png')->status_is(200)->content_type_is('image/png'); done_testing(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-7.55/t/mojolicious/validation_lite_app.t new/Mojolicious-7.57/t/mojolicious/validation_lite_app.t --- old/Mojolicious-7.55/t/mojolicious/validation_lite_app.t 2017-11-06 18:19:39.000000000 +0100 +++ new/Mojolicious-7.57/t/mojolicious/validation_lite_app.t 2017-11-14 14:51:43.000000000 +0100 @@ -125,6 +125,27 @@ ok $validation->has_error, 'has error'; is_deeply $validation->error('baz'), ['like', 1, $re], 'right error'; +# Num +$validation = $t->app->validation->input({foo => 23, bar => 0, baz => 'fail'}); +ok $validation->required('foo')->num->is_valid, 'valid'; +is_deeply $validation->output, {foo => 23}, 'right result'; +ok $validation->required('bar')->num->is_valid, 'valid'; +is_deeply $validation->output, {foo => 23, bar => 0}, 'right result'; +ok !$validation->has_error, 'no error'; +ok !$validation->required('baz')->num->is_valid, 'not valid'; +is_deeply $validation->error('baz'), [qw(num 1)], 'right error'; +is_deeply $validation->failed, ['baz'], 'right names'; +$validation = $t->app->validation->input({foo => 23}); +ok $validation->required('foo')->num(22, 24)->is_valid, 'valid'; +$validation = $t->app->validation->input({foo => 23}); +ok $validation->required('foo')->num(23, 24)->is_valid, 'valid'; +$validation = $t->app->validation->input({foo => 23}); +ok $validation->required('foo')->num(22, 23)->is_valid, 'valid'; +$validation = $t->app->validation->input({foo => 23}); +ok !$validation->required('foo')->num(24, 25)->is_valid, 'not valid'; +ok $validation->has_error, 'has error'; +is_deeply $validation->error('foo'), [qw(num 1 24 25)], 'right error'; + # Size $validation = $t->app->validation->input({foo => 'bar', baz => 'yada', yada => 'yada'});