Hello community, here is the log from the commit of package perl-Mojolicious for openSUSE:Leap:15.2 checked in at 2020-03-31 07:21:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/perl-Mojolicious (Old) and /work/SRC/openSUSE:Leap:15.2/.perl-Mojolicious.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious" Tue Mar 31 07:21:52 2020 rev:98 rq:788598 version:8.35 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/perl-Mojolicious/perl-Mojolicious.changes 2020-03-21 16:42:25.769356628 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.perl-Mojolicious.new.3160/perl-Mojolicious.changes 2020-03-31 07:21:54.550386027 +0200 @@ -1,0 +2,9 @@ +Sun Mar 22 03:09:07 UTC 2020 - <timueller+p...@suse.de> + +- updated to 8.35 + see /usr/share/doc/packages/perl-Mojolicious/Changes + + 8.35 2020-03-20 + - Added not_empty filter to Mojolicious::Validator. + +------------------------------------------------------------------- Old: ---- Mojolicious-8.34.tar.gz New: ---- Mojolicious-8.35.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Mojolicious.spec ++++++ --- /var/tmp/diff_new_pack.3NG5KX/_old 2020-03-31 07:21:54.938386195 +0200 +++ /var/tmp/diff_new_pack.3NG5KX/_new 2020-03-31 07:21:54.938386195 +0200 @@ -17,7 +17,7 @@ Name: perl-Mojolicious -Version: 8.34 +Version: 8.35 Release: 0 %define cpan_name Mojolicious Summary: Real-time web framework ++++++ Mojolicious-8.34.tar.gz -> Mojolicious-8.35.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.34/Changes new/Mojolicious-8.35/Changes --- old/Mojolicious-8.34/Changes 2020-03-16 16:52:00.000000000 +0100 +++ new/Mojolicious-8.35/Changes 2020-03-20 18:36:05.000000000 +0100 @@ -1,4 +1,7 @@ +8.35 2020-03-20 + - Added not_empty filter to Mojolicious::Validator. + 8.34 2020-03-16 - Removed experimental status from proxy->get_p, proxy->post_p and proxy->start_p helpers in Mojolicious::Plugin::DefaultHelpers. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.34/META.json new/Mojolicious-8.35/META.json --- old/Mojolicious-8.34/META.json 2020-03-16 18:26:07.000000000 +0100 +++ new/Mojolicious-8.35/META.json 2020-03-21 16:10:58.000000000 +0100 @@ -62,6 +62,6 @@ }, "x_IRC" : "irc://irc.freenode.net/#mojo" }, - "version" : "8.34", + "version" : "8.35", "x_serialization_backend" : "JSON::PP version 4.04" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.34/META.yml new/Mojolicious-8.35/META.yml --- old/Mojolicious-8.34/META.yml 2020-03-16 18:26:06.000000000 +0100 +++ new/Mojolicious-8.35/META.yml 2020-03-21 16:10:58.000000000 +0100 @@ -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.34' +version: '8.35' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.34/lib/Mojolicious/Validator.pm new/Mojolicious-8.35/lib/Mojolicious/Validator.pm --- old/Mojolicious-8.34/lib/Mojolicious/Validator.pm 2020-03-16 16:49:57.000000000 +0100 +++ new/Mojolicious-8.35/lib/Mojolicious/Validator.pm 2020-03-20 18:35:44.000000000 +0100 @@ -6,7 +6,7 @@ use Mojolicious::Validator::Validation; has checks => sub { {} }; -has filters => sub { {trim => \&_trim} }; +has filters => sub { {not_empty => \&_not_empty, trim => \&_trim} }; sub add_check { my ($self, $name, $cb) = @_; @@ -47,6 +47,8 @@ return 1; } +sub _not_empty { length $_[2] ? $_[2] : undef } + sub _num { my ($v, $name, $value, $min, $max) = @_; return 1 if $value !~ /^-?[0-9]+$/; @@ -135,6 +137,12 @@ These filters are available by default. +=head2 not_empty + + $v = $v->optional('foo', 'not_empty'); + +Remove empty string values and treat them as if they had not been submitted. + =head2 trim $v = $v->optional('foo', 'trim'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.34/lib/Mojolicious.pm new/Mojolicious-8.35/lib/Mojolicious.pm --- old/Mojolicious-8.34/lib/Mojolicious.pm 2020-03-07 14:32:21.000000000 +0100 +++ new/Mojolicious-8.35/lib/Mojolicious.pm 2020-03-18 02:26:02.000000000 +0100 @@ -59,7 +59,7 @@ has validator => sub { Mojolicious::Validator->new }; our $CODENAME = 'Supervillain'; -our $VERSION = '8.34'; +our $VERSION = '8.35'; sub BUILD_DYNAMIC { my ($class, $method, $dyn_methods) = @_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.34/t/mojolicious/validation_lite_app.t new/Mojolicious-8.35/t/mojolicious/validation_lite_app.t --- old/Mojolicious-8.34/t/mojolicious/validation_lite_app.t 2020-03-16 16:49:48.000000000 +0100 +++ new/Mojolicious-8.35/t/mojolicious/validation_lite_app.t 2020-03-20 18:35:39.000000000 +0100 @@ -237,6 +237,19 @@ ok !$v->optional('more', 'trim')->is_valid, 'not valid'; is_deeply $v->output, {nothing => ' '}, 'right result'; +# Not empty +$v = $t->app->validation->input({foo => 'bar', baz => ''}); +ok $v->required('foo', 'not_empty')->in('bar')->is_valid, 'valid'; +ok !$v->required('baz', 'not_empty')->is_valid, 'not valid'; +ok $v->has_error, 'has error'; +is_deeply $v->error('baz'), ['required'], 'right error'; +is_deeply $v->output, {foo => 'bar'}, 'right result'; +$v = $t->app->validation->input({foo => [' bar'], baz => ['', ' ', undef]}); +ok $v->optional('foo', 'trim', 'not_empty')->is_valid, 'valid'; +ok !$v->optional('baz', 'trim', 'not_empty')->is_valid, 'not valid'; +ok !$v->has_error, 'no error'; +is_deeply $v->output, {foo => ['bar']}, 'right result'; + # Custom filter $t->app->validator->add_filter(quote => sub {qq{$_[1]="$_[2]"}}); $v = $t->app->validation->input({foo => [' bar', 'baz']});