Branch Coverage

blib/lib/Data/CTable.pm
Criterion Covered Total %
branch 366 608 60.2


line true false branch
926 82 27 if UNIVERSAL::isa($_[0], 'HASH')
931 0 109 UNIVERSAL::isa($ClassOrObj, 'HASH') ? :
932 82 27 UNIVERSAL::isa($Params, 'HASH') ? :
945 0 109 unless $this->initialize
951 0 109 unless $this->process_new_args($RemainingArgs, $Params)
954 109 0 $Success ? :
972 0 109 unless $Success = $this->append_files_new($RemainingArgs, $Params)
1001 0 109 unless my $this = shift()
1009 59 50 unless exists $$this{'_WriteExtension'}
1013 44 65 unless exists $$this{'_CacheOnRead'}
1014 59 50 unless exists $$this{'_CacheOnWrite'}
1015 59 50 unless exists $$this{'_CacheExtension'}
1016 58 51 unless exists $$this{'_CacheSubDir'}
1022 59 50 unless exists $$this{'_QuoteFields'}
1023 59 50 unless exists $$this{'_HeaderRow'}
1027 59 50 unless exists $$this{'_ReturnMap'}
1029 57 52 unless exists $$this{'_MacRomanMap'}
1038 56 53 unless exists $$this{'_Progress'}
1195 32 773 if defined $FieldList
1248 33 6 if (ref $FieldList eq 'ARRAY') { }
1259 3 30 if $Force
1299 3 5 unless (exists $$FieldHash{$FieldName})
1313 34 9 if (ref $$this{'_FieldList'} eq 'ARRAY')
1318 34 0 if (not exists $$FieldHash{$FieldName})
1330 3 0 if (ref $$this{'_FieldList'} eq 'ARRAY')
1458 2 1470 if defined $Vector
1496 1 15 if (not $Valid and $Existing) { }
11 4 elsif ($Valid and not $Existing) { }
4 0 elsif ($Valid) { }
1506 11 0 unless ($Force)
1517 4 0 unless ($Force)
1556 35 2 unless defined $Length
1557 1 36 if ref $Length eq 'ARRAY'
1603 0 24 if $ColName =~ /^_/
1620 0 8 if $ColName =~ /^_/
1639 0 3 unless $New =~ /^[^_]+/
1642 0 3 unless $this->col_exists($Old, $Fields)
1645 0 3 if $this->col_exists($New, $Fields)
1655 3 7 if $_ eq $Old
3 0 if defined $$this{'_FieldList'}
1656 0 0 if $_ eq $Old
0 3 if defined $$this{'_SortOrder'}
1657 0 3 if defined $$this{'_SortSpecs'} and $$this{'_SortSpecs'}{$Old}
1857 0 84 unless defined $_
1861 0 84 unless CORE::length $_
1886 0 0 unless defined $_
1901 0 15 unless defined $_
2151 0 3 if $WantVals
2170 0 9 $WantVals ? :
2174 0 3 $WantVals ? :
2428 0 69 if defined $Row
2459 2 1 unless $this->length >= $Num + 1
2473 1 9 unless defined $First
2476 1 8 unless defined $Last
2485 1 8 if $Last < $First
2505 0 0 $_ <= $Last ? :
0 0 $_ < $First ? :
2511 0 8 if $$this{'_Selection'}
2521 0 8 unless defined $Old and defined $New
2524 1 7 if $New == $Old
2525 2 5 if $New == $Old + 1
2530 0 5 if $Old < 0 or $Old > $Length - 1
2531 0 5 if $New < 0 or $New > $Length
2535 2 3 if ($Old < $New) { }
2557 2 3 if ($Old < $New) { }
2559 1 3 $_ >= $New ? :
0 4 $_ < $Old ? :
2 4 $_ == $Old ? :
2566 2 0 if $$this{'_Selection'}
2572 1 4 $_ < $New ? :
1 5 $_ >= $Old ? :
3 6 $_ == $Old ? :
2579 3 0 if $$this{'_Selection'}
2637 0 6 unless $this->length >= $Num + 1
2684 2 468 defined $Length ? :
2696 461 7 ref $Col eq 'ARRAY' ? :
2850 21 456 if defined $Selection
2872 36 123 if (ref $Selection eq 'ARRAY') { }
2944 1 26 if (ref $$this{'_Selection'} eq 'ARRAY')
2957 70 1 if $_ >= 0
2968 0 284 if (defined $Vector) { }
3001 3 2 if (defined $Vector and ref $Vector eq 'ARRAY') { }
3024 16 4 ref $$this{'_Selection'} eq 'ARRAY' ? :
3298 4 9 $Add ? :
3314 0 13 unless CORE::length $Field and ref $Sub eq 'CODE'
3319 0 13 if $Field eq '_RecNum'
3320 0 13 if $Field eq '_SelNum'
3323 0 36 unless $$this{$Field} or $$Pseudo{$Field}
3355 4 9 if (not $Not || $Add) { }
3 6 elsif (not $Not and $Add) { }
5 1 elsif ($Not and not $Add) { }
1 0 elsif ($Not and $Add) { }
3490 8 2 @_ == 1 ? :
3500 0 10 unless ref $SortOrder eq 'ARRAY' and @$SortOrder
3508 3 7 unless ref $Selection eq 'ARRAY'
3513 0 10 unless ref $SortSpecs eq 'HASH'
3515 0 10 if $NeedRecNum
3520 0 10 unless ref $SRoutines eq 'HASH'
3526 0 10 unless CORE::length $DefaultSortType and exists $$SRoutines{$DefaultSortType}
3538 0 10 $NeedRecNum ? :
3547 0 14 unless $$Cols{$_}
3548 12 2 unless $$SortSpecs{$_}
12 2 unless ${{} unless $$SortSpecs{$_};}{'SortDirection'}
3549 12 2 unless $$SortSpecs{$_}
13 1 unless ${{} unless $$SortSpecs{$_};}{'SortType'}
3550 0 14 unless $$SRoutines{$_} or $$SRoutines{'String'}
3583 58 4 if $CmpVal
3587 10 48 if $ProgCount++ % 200 == 0
3598 10 0 unless $ShowedProgress
3671 2 6 if (defined $SortOrder and $Valid) { }
1 5 elsif (defined $SortOrder) { }
3703 1 62 if defined $$this{'_SortOrder'}
3777 1 45 if $SortSpecs
3800 3 1 if $SortSpec
3808 0 4 unless defined $$SortSpec{'SortDirection'}
3858 1 5 if (defined $DefaultSortDir)
3866 6 0 defined $$this{'_DefaultSortDirection'} ? :
3904 1 5 if (defined $DefaultSortType)
3911 6 0 defined $$this{'_DefaultSortType'} ? :
4046 3 35 if (defined $Routine)
4075 2 2 if ($Valid) { }
4093 0 42 unless $$this{'_SRoutines'}
4133 0 1 @_ == 1 ? :
4142 1 0 if ($FieldList)
4153 1 0 if ($Selection)
4175 0 50 @_ == 1 ? :
4299 0 3 if $LineEnding
4619 0 19 @_ == 1 ? :
4631 0 19 unless defined $HeaderRow
4634 0 19 unless CORE::length $ReturnEncoding
4637 0 19 unless defined $ReturnMap
4640 18 1 unless defined $MacRomanMap
4643 0 19 unless int $MaxRecords == $MaxRecords
4652 0 19 unless (my $File = 'IO::File'->new("<$FileName"))
4655 0 19 unless my $FileSize = (stat $File)[7]
4662 0 19 unless $LineEnding ||= guess_endings($File)
4670 15 4 if $DoMacMapping
4683 19 0 if ($HeaderRow) { }
4687 0 19 unless $_ = <$File>
4691 0 19 unless $FDelimiter ||= guess_delimiter($_)
4695 15 4 if $DoMacMapping
4709 0 0 unless $FieldListValid
4731 5 14 $FieldListValid ? :
4770 0 57 unless $FDelimiter ||= guess_delimiter($_)
4774 45 12 if $DoMacMapping
4789 0 180 $InQuote ? :
0 180 $1 ? :
4797 237 0 if (CORE::length $_)
4802 237 0 if $ReturnMap
4810 213 0 if CORE::length $FieldVals[$_]
4815 0 57 if $MaxRecords and $RecordsRead >= $MaxRecords
4828 0 57 if ($RecordsRead % 100 == 0 and $RecordsRead + 100 > $#{$$FieldVectors[$$FieldNums[0]];})
4833 0 0 if $MaxRecords and $MaxRecords < $EstTotalRecords
4836 0 0 if ($EstTotalRecords > $#{$$FieldVectors[$$FieldNums[0]];})
4846 0 0 $EstTotalRecords ? :
0 57 if $RecordsRead % 100 == 0
4856 0 19 if ($WroteProg)
4858 0 0 unless $RecordsRead % 100 == 0
4909 0 19 unless $Success
4913 19 0 if $File
4931 5 57 @_ == 1 ? :
4941 11 51 unless $CacheOnRead
4955 0 51 unless CORE::length $CacheFileName
4964 46 5 if (-e $FileName and -e $CacheFileName and (stat $CacheFileName)[9] > (stat $FileName)[9])
4971 0 46 unless defined $Data
4975 46 5 if (ref $Data eq 'HASH')
4983 0 46 unless $$Data{'_Newline'} eq "\n"
4989 18 28 if (ref $FieldList eq 'ARRAY' and @$FieldList) { }
1 27 elsif ($$Data{'_Subset'}) { }
5000 2 16 if @$MissingFields
5071 0 8 unless $Success = $this->read_file(%$Params)
5080 0 8 unless $this->try_file_write($CacheFileName)
5112 0 8 unless $this->write_cache($Data, $CacheFileName)
5392 0 8 @_ == 1 ? :
5398 0 8 unless my $WriteFileName = $this->write_file(@_)
5404 0 8 unless $WriteFileName
5407 8 0 unless $CacheOnWrite
5419 0 0 unless my $CacheFileName = $this->prep_cache_file($WriteFileName, $CacheExtension, $CacheSubDir)
5423 0 0 unless $this->try_file_write($CacheFileName)
5442 0 0 unless CORE::length $LineEnding
5445 0 0 unless CORE::length $FDelimiter
5448 0 0 unless defined $HeaderRow
5473 0 0 unless $this->write_cache($Data, $CacheFileName)
5492 8 0 if $Success
5501 0 8 @_ == 1 ? :
5513 0 8 if $FileName =~ /^-?$/
5516 0 8 if ref($FileName) =~ /(HANDLE)|(GLOB)/
5521 0 8 unless $GotHandle or CORE::length $FileName
5531 0 8 unless int $MaxRecords == $MaxRecords
5537 0 8 unless CORE::length $LineEnding
5540 0 8 unless CORE::length $FDelimiter
5543 8 0 unless defined $QuoteFields
5550 0 8 unless defined $ReturnMap
5553 8 0 unless defined $MacRomanMap
5560 5 3 if $DoMacMapping
5563 0 8 unless CORE::length $ReturnEncoding
5566 0 8 unless defined $HeaderRow
5569 0 8 unless defined $WriteExtension
5594 0 8 if ($GotHandle) { }
5602 0 8 $$Params{'_FileName'} ? :
5616 0 8 unless $this->verify_or_create_path($Path, $Sep)
5621 0 8 unless -w $Path
5624 0 8 if -e $WriteFileName and not -w $WriteFileName
5631 0 8 unless $OutFile
5640 0 8 if ($QuoteFields) { }
5666 8 0 if $QuoteCheck
5676 8 0 if $ReturnMap
5680 8 0 if ($HeaderRow)
5693 0 33 if $QuoteCheck and $X =~ /$QuoteOrDelimCheck/
5696 33 0 if $ReturnMap
5704 5 3 if $DoMacMapping
5706 8 0 if $HeaderRow
5715 0 8 $MaxRecords ? :
5731 0 99 if $QuoteCheck and $X =~ /$QuoteOrDelimCheck/
5734 99 0 if $ReturnMap
5742 15 9 if $DoMacMapping
5750 0 24 if $RecordsWritten % 100 == 0
5755 8 16 if $RecordsWritten >= $RecordsToWrite
5760 0 8 if ($WroteProg)
5762 0 0 unless $RecordsWritten % 100 == 0
5767 0 8 if ($GotHandle) { }
5777 8 0 unless ($GotHandle)
5783 0 8 unless $Success
5788 0 8 unless $Success
5790 8 0 $Success ? :
5826 0 0 unless my $Data = $this->format(@_)
5832 0 0 if (ref $Dest eq 'HANDLE')
5835 0 0 unless (ref $Dest)
5841 0 0 unless $Dest->print($$Data)
5851 0 1 @_ == 1 ? :
5857 1 0 unless $HaveShowTable
5863 0 0 unless CORE::length $DefaultSortType
5874 0 0 unless $$TypeMap{lc(@{{} unless $$SortSpecs{$_};}{'SortType'} || $DefaultSortType)}
5879 0 0 $MaxRecords ? :
5887 0 0 if $Rewind
5890 0 0 if $SelNum >= $RecordsToWrite
5893 0 0 CORE::length $_ > $MaxWidth ? :
5920 0 0 unless $fmt =~ /\n$/
5939 0 0 if $$Data[-1] =~ /^\s*$/s
5940 0 0 if $$Data[-1] =~ /^\s*$/s
6226 10 0 if (defined $$this{'_FieldList'} or defined $$that{'_FieldList'})
6250 0 10 if (defined $$this{'_SortOrder'} or defined $$that{'_SortOrder'})
6270 3 7 if (defined $$this{'_Selection'} or defined $$that{'_Selection'})
6283 10 0 if (defined $$this{'_SortSpecs'} or defined $$that{'_SortSpecs'})
6296 10 0 if (defined $$this{'_SRoutines'} or defined $$that{'_SRoutines'})
6327 0 2 unless my $that = ref($this)->new($Params, $FileName)
6331 0 2 unless $this->append($that)
6347 0 2 unless $this->append_file($FileName, $Params)
6366 57 52 if (defined $FirstFile)
6368 25 32 unless $Params
0 57 unless $this->read(%{{} unless $Params;}, '_FileName', $FirstFile)
6371 0 109 unless $this->append_files($FileNames, $Params)
6415 6 0 if (defined $$this{'_FieldList'} or defined $$that{'_FieldList'})
6434 0 6 if (defined $$this{'_SortOrder'} or defined $$that{'_SortOrder'})
6455 6 0 if (defined $$this{'_SortSpecs'} or defined $$that{'_SortSpecs'})
6468 6 0 if (defined $$this{'_SRoutines'} or defined $$that{'_SRoutines'})
6498 0 5 unless my $that = ref($this)->new($Params, $FileName)
6502 0 5 unless $this->combine($that)
6518 0 1 unless $this->combine_file($FileName, $Params)
6534 0 5 unless $Key1
6545 26 0 if $_ ne $Key1
6578 13 2 defined $_ ? :
6600 5 0 if (defined $$this{'_FieldList'})
6620 5 0 if (defined $$this{'_SortSpecs'} or defined $$that{'_SortSpecs'})
6633 5 0 if (defined $$this{'_SRoutines'} or defined $$that{'_SRoutines'})
6663 0 0 unless my $that = ref($this)->new($Params, $FileName)
6667 0 0 unless $this->join($that, $Key1, $Key2, $Fields)
6683 0 0 unless $this->join_file($FileName, $Params, $Key1, $Key2, $Fields)
6740 0 0 unless my $NewColNames = $this->col_delete($HeaderField)
6990 5 194 if defined $ProgSetting
7010 0 7 if -t STDERR
7030 2 191 if ref $Prog1 eq 'CODE'
7031 6 185 if $Prog1
7032 4 181 if defined $Prog1
7036 2 179 if ref $Prog2 eq 'CODE'
7037 0 179 if $Prog2
7047 11 188148 unless $$this{'_ProgTimeInfo'}
7070 188142 17 unless $Trigger
7073 7 10 if defined $Pos and $Tot
7078 6 11 unless not $SameOp and $Wait
7151 0 0 unless @Things
7153 0 0 if ($HaveDumper) { }
7302 53 0 CORE::length $Path ? :
7315 1 52 $Absolute ? :
7319 0 53 unless $this->verify_or_create_path($CacheDir, $Sep)
7322 0 53 unless -r $CacheDir
7334 0 53 if $CacheFilePath eq $FileName
7340 0 53 unless $this->try_file_read($CacheFilePath) or $this->try_file_write($CacheFilePath)
7345 53 0 $Success ? :
7364 114 0 if -d $WholePath
7377 0 0 unless mkdir $TryDir, 511
7396 10 0 if $File
7399 0 10 unless $File
7404 0 10 if -e $Path
7420 2 51 unless my $File = 'IO::File'->new("<$Path")
7432 147 654 exists $$Params{$Param} ? :
7518 19 0 if $Buf =~ /((?:\x0D\x0A)|(?:\x0D)|(?:\x0A))[^\x0D\x0A]/
7524 0 0 if $Actual < $BlockSize * $ReadCount
7559 0 70 if $OSName =~ /mac /xi
7560 0 70 if $OSName =~ /(?
7571 0 53 if $OSName =~ /mac /xi
7572 0 53 if $OSName =~ /(?
7578 5 188164 $_[0] < $_[1] ? :
7579 20 114 $_[0] > $_[1] ? :