From: Sven S. <m.b...@li...> - 2015-06-15 13:48:30
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "kivitendo ERP". The branch master has been updated via c607fb403082a05a5c9f16b084de5b99203bfad7 (commit) via 258119bf167d625d33dfe672d5379a0945e11f27 (commit) from 5b26a7ef809bfb77b97f626869086b27312ede87 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c607fb403082a05a5c9f16b084de5b99203bfad7 Author: Sven Schöling <s.s...@li...> Date: Mon Jun 15 15:47:29 2015 +0200 Indirekte Objektnotation fixen commit 258119bf167d625d33dfe672d5379a0945e11f27 Author: Sven Schöling <s.s...@li...> Date: Mon Jun 15 15:46:59 2015 +0200 Tests: Indirekte Objektnotation für Instanzierung verbieten. ----------------------------------------------------------------------- Summary of changes: SL/Form.pm | 2 +- bin/mozilla/do.pl | 4 +-- bin/mozilla/installationcheck.pl | 2 +- bin/mozilla/io.pl | 4 +-- bin/mozilla/is.pl | 4 +-- bin/mozilla/oe.pl | 2 +- ...s_in_postif.t => no_indirect_object_notation.t} | 41 +++++++++------------- 7 files changed, 26 insertions(+), 33 deletions(-) copy t/structure/{no_lexicals_in_postif.t => no_indirect_object_notation.t} (53%) Full change list: diff --git a/SL/Form.pm b/SL/Form.pm index 583a0a1..b0433bd 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -1125,7 +1125,7 @@ sub parse_template { if ($self->{media} eq 'email') { - my $mail = new Mailer; + my $mail = Mailer->new; map { $mail->{$_} = $self->{$_} } qw(cc bcc subject message version format); diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index 764a84d..6b72eee 100644 --- a/bin/mozilla/do.pl +++ b/bin/mozilla/do.pl @@ -828,7 +828,7 @@ sub invoice { $form->{type} = "invoice"; # locale messages - $main::locale = new Locale "$myconfig{countrycode}", "$script"; + $main::locale = Locale->new("$myconfig{countrycode}", "$script"); $locale = $main::locale; require "bin/mozilla/$form->{script}"; @@ -975,7 +975,7 @@ sub invoice_multi { } delete $form->{form_details}; - $locale = new Locale "$myconfig{countrycode}", "$script"; + $locale = Locale->new("$myconfig{countrycode}", "$script"); require "bin/mozilla/$form->{script}"; diff --git a/bin/mozilla/installationcheck.pl b/bin/mozilla/installationcheck.pl index 869177b..fdffa64 100644 --- a/bin/mozilla/installationcheck.pl +++ b/bin/mozilla/installationcheck.pl @@ -17,7 +17,7 @@ sub verify_installation { use SL::Locale; - my $locale = new Locale($::lx_office_conf{system}->{language}, "installationcheck"); + my $locale = Locale->new($::lx_office_conf{system}->{language}, "installationcheck"); print(qq|content-type: text/html diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index febe267..a050e74 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -918,7 +918,7 @@ sub order { my $script = $form->{"script"}; $script =~ s|.*/||; $script =~ s|.pl$||; - $locale = new Locale($::lx_office_conf{system}->{language}, $script); + $locale = Locale->new($::lx_office_conf{system}->{language}, $script); map { $form->{"select$_"} = "" } ($form->{vc}, "currency"); @@ -1247,7 +1247,7 @@ sub print { $form->error($locale->text('Select postscript or PDF!')) if ($form->{format} !~ /(postscript|pdf)/); - $old_form = new Form; + $old_form = Form->new; map { $old_form->{$_} = $form->{$_} } keys %$form; } diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index a83f771..5f23c8e 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -842,7 +842,7 @@ sub print_and_post { $main::auth->assert('invoice_edit'); - my $old_form = new Form; + my $old_form = Form->new; $form->{no_redirect_after_post} = 1; $form->{print_and_post} = 1; &post(); @@ -933,7 +933,7 @@ sub preview { $main::auth->assert('invoice_edit'); $form->{preview} = 1; - my $old_form = new Form; + my $old_form = Form->new; for (keys %$form) { $old_form->{$_} = $form->{$_} } &print_form($old_form); diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 5984c85..c3242ec 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -1502,7 +1502,7 @@ sub invoice { $form->{type} = "invoice"; # locale messages - $main::locale = new Locale "$myconfig{countrycode}", "$script"; + $main::locale = Locale->new("$myconfig{countrycode}", "$script"); $locale = $main::locale; require "bin/mozilla/$form->{script}"; diff --git a/t/structure/no_lexicals_in_postif.t b/t/structure/no_indirect_object_notation.t similarity index 53% copy from t/structure/no_lexicals_in_postif.t copy to t/structure/no_indirect_object_notation.t index 3f90693..f0a54d9 100644 --- a/t/structure/no_lexicals_in_postif.t +++ b/t/structure/no_indirect_object_notation.t @@ -9,18 +9,6 @@ if (eval { require PPI; 1 }) { plan skip_all => "PPI not installed"; } -my $fh; -{ - local $^W = 0; # Don't complain about non-existent filehandles - if (-e \*Test::More::TESTOUT) { - $fh = \*Test::More::TESTOUT; - } elsif (-e \*Test::Builder::TESTOUT) { - $fh = \*Test::Builder::TESTOUT; - } else { - $fh = \*STDOUT; - } -} - my @testitems = @Support::Files::testitems; foreach my $file (@testitems) { @@ -40,25 +28,30 @@ foreach my $file (@testitems) { } my $doc = PPI::Document->new(\$source) or do { - print $fh "?: PPI error for file $file: " . PPI::Document::errstr() . "\n"; + print "?: PPI error for file $file: " . PPI::Document::errstr() . "\n"; ok 0, $file; next; }; - my $stmts = $doc->find('Statement::Variable'); + my $stmts = $doc->find(sub { $_[1]->isa('PPI::Token::Word') && $_[1]->content eq 'new' }); - for my $var (@{ $stmts || [] }) { - # local can have valid uses like this, and our is extremely uncommon - next unless $var->type eq 'my'; + for my $stmt (@{ $stmts || [] }) { + my @schildren = $stmt->parent->schildren; + for (0..$#schildren-1) { + my $this = $schildren[$_]; + my $next = $schildren[$_+1]; - # no if? alright - next unless $var->find(sub { $_[1]->content eq 'if' }); + next unless $this->isa('PPI::Token::Word'); + next unless $this->content eq 'new'; + next unless $next->isa('PPI::Token::Word'); - # token "if" is not in the top level struvture - no problem - # most likely an anonymous sub or a complicated map/grep/reduce - next unless grep { $_->content eq 'if' } $var->schildren; + # suspicious. 2 barewords in a row, with the first being 'new' + # but maybe its somethiing like: Obj->new param1 => ... + # check if the one before exists and is a -> + next if $_ == 0 || ($schildren[$_-1]->isa('PPI::Token::Operator') && $schildren[$_-1]->content eq '->'); - $clean = 0; - print $fh "?: $var \n"; + $clean = 0; + print "?: @{[ $this->content, $next->content ]} \n"; + } } ok $clean, $file; hooks/post-receive -- kivitendo ERP |