From be076f02fed09b50c15c8ee8d0585542bd55347d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bernd=20Ble=C3=9Fmann?= Date: Wed, 9 Jun 2021 13:03:20 +0200 Subject: [PATCH] =?utf8?q?CSV-Helper:=20Vergessenes=20Feld=20"raw=5Finput"?= =?utf8?q?=20bei=20einigen=20Fehlermeldungen=20=C3=BCbergeben=20=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit … Auch, wenn es undefniert ist, aber sonst stimmen die Felder nicht bei der Fehlerausgabe. --- SL/Helper/Csv.pm | 7 ++++++- t/helper/csv.t | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/SL/Helper/Csv.pm b/SL/Helper/Csv.pm index e9fd45c6a..0d471eb09 100644 --- a/SL/Helper/Csv.pm +++ b/SL/Helper/Csv.pm @@ -114,6 +114,7 @@ sub _check_multiplexed { # Each profile needs a class and a row_ident my $info_ok = all { defined $_->{class} && defined $_->{row_ident} } @profile; $self->_push_error([ + undef, 0, "missing class or row_ident in one of the profiles for multiplexed data", 0, @@ -125,6 +126,7 @@ sub _check_multiplexed { my @header = @{ $self->header }; my $t_ok = scalar @profile == scalar @header; $self->_push_error([ + undef, 0, "number of headers and number of profiles must be the same for multiplexed data", 0, @@ -133,6 +135,7 @@ sub _check_multiplexed { $t_ok = all { scalar @$_ > 0} @header; $self->_push_error([ + undef, 0, "no empty headers are allowed for multiplexed data", 0, @@ -231,7 +234,8 @@ sub _check_multiplex_datatype_position { $self->_multiplex_datatype_position($first_pos); return 1; } else { - $self->_push_error([0, + $self->_push_error([undef, + 0, "datatype field must be at the same position for all datatypes for multiplexed data", 0, 0]); @@ -254,6 +258,7 @@ sub _parse_data { my $header = $self->_header_by_row($row); if (!$header) { push @errors, [ + undef, 0, "Cannot get header for row. Maybe row name and datatype field not matching.", 0, diff --git a/t/helper/csv.t b/t/helper/csv.t index 13bcba7c7..95ca14b36 100644 --- a/t/helper/csv.t +++ b/t/helper/csv.t @@ -629,7 +629,7 @@ EOL ignore_unknown_columns => 1, ); ok !$csv->parse, 'multiplex check detects incosistent datatype field position'; -is_deeply( ($csv->errors)[0], [ 0, 'datatype field must be at the same position for all datatypes for multiplexed data', 0, 0 ], 'multiplex data with inconsistent datatype field posiotion throws error'); +is_deeply( ($csv->errors)[0], [ undef, 0, 'datatype field must be at the same position for all datatypes for multiplexed data', 0, 0 ], 'multiplex data with inconsistent datatype field posiotion throws error'); ##### -- 2.20.1