Branch Coverage

blib/lib/Data/CTable.pm
Criterion Covered Total %
branch 373 632 59.0


line true false branch
926 83 43 if UNIVERSAL::isa($_[0], 'HASH')
931 0 126 UNIVERSAL::isa($ClassOrObj, 'HASH') ? :
932 83 43 UNIVERSAL::isa($Params, 'HASH') ? :
945 0 126 unless $this->initialize
951 0 126 unless $this->process_new_args($RemainingArgs, $Params)
954 126 0 $Success ? :
972 0 126 unless $Success = $this->append_files_new($RemainingArgs, $Params)
1001 0 126 unless my $this = shift()
1009 76 50 unless exists $$this{'_WriteExtension'}
1013 61 65 unless exists $$this{'_CacheOnRead'}
1014 76 50 unless exists $$this{'_CacheOnWrite'}
1015 76 50 unless exists $$this{'_CacheExtension'}
1016 75 51 unless exists $$this{'_CacheSubDir'}
1022 76 50 unless exists $$this{'_QuoteFields'}
1023 76 50 unless exists $$this{'_HeaderRow'}
1027 76 50 unless exists $$this{'_ReturnMap'}
1029 74 52 unless exists $$this{'_MacRomanMap'}
1038 73 53 unless exists $$this{'_Progress'}
1196 32 788 if defined $FieldList
1249 33 6 if (ref $FieldList eq 'ARRAY') { }
1260 3 30 if $Force
1300 3 5 unless (exists $$FieldHash{$FieldName})
1314 34 9 if (ref $$this{'_FieldList'} eq 'ARRAY')
1319 34 0 if (not exists $$FieldHash{$FieldName})
1331 3 0 if (ref $$this{'_FieldList'} eq 'ARRAY')
1459 2 1453 if defined $Vector
1497 1 15 if (not $Valid and $Existing) { }
11 4 elsif ($Valid and not $Existing) { }
4 0 elsif ($Valid) { }
1507 11 0 unless ($Force)
1518 4 0 unless ($Force)
1557 36 2 unless defined $Length
1558 1 37 if ref $Length eq 'ARRAY'
1604 0 24 if $ColName =~ /^_/
1621 0 8 if $ColName =~ /^_/
1640 0 3 unless $New =~ /^[^_]+/
1643 0 3 unless $this->col_exists($Old, $Fields)
1646 0 3 if $this->col_exists($New, $Fields)
1656 3 7 if $_ eq $Old
3 0 if defined $$this{'_FieldList'}
1657 0 0 if $_ eq $Old
0 3 if defined $$this{'_SortOrder'}
1658 0 3 if defined $$this{'_SortSpecs'} and $$this{'_SortSpecs'}{$Old}
1859 0 84 unless defined $_
1863 0 84 unless CORE::length $_
1888 0 0 unless defined $_
1903 0 15 unless defined $_
2153 1 2 if $WantVals
2172 3 6 $WantVals ? :
2176 1 2 $WantVals ? :
2430 0 69 if defined $Row
2461 2 1 unless $this->length >= $Num + 1
2475 1 9 unless defined $First
2478 1 8 unless defined $Last
2487 1 8 if $Last < $First
2507 0 0 $_ <= $Last ? :
0 0 $_ < $First ? :
2513 0 8 if $$this{'_Selection'}
2523 0 8 unless defined $Old and defined $New
2526 1 7 if $New == $Old
2527 2 5 if $New == $Old + 1
2532 0 5 if $Old < 0 or $Old > $Length - 1
2533 0 5 if $New < 0 or $New > $Length
2537 2 3 if ($Old < $New) { }
2559 2 3 if ($Old < $New) { }
2561 1 3 $_ >= $New ? :
0 4 $_ < $Old ? :
2 4 $_ == $Old ? :
2568 2 0 if $$this{'_Selection'}
2574 1 4 $_ < $New ? :
1 5 $_ >= $Old ? :
3 6 $_ == $Old ? :
2581 3 0 if $$this{'_Selection'}
2639 0 6 unless $this->length >= $Num + 1
2686 2 469 defined $Length ? :
2698 462 7 ref $Col eq 'ARRAY' ? :
2852 21 456 if defined $Selection
2874 36 140 if (ref $Selection eq 'ARRAY') { }
2946 1 26 if (ref $$this{'_Selection'} eq 'ARRAY')
2959 70 1 if $_ >= 0
2970 0 284 if (defined $Vector) { }
3003 3 2 if (defined $Vector and ref $Vector eq 'ARRAY') { }
3026 16 4 ref $$this{'_Selection'} eq 'ARRAY' ? :
3300 4 9 $Add ? :
3316 0 13 unless CORE::length $Field and ref $Sub eq 'CODE'
3321 0 13 if $Field eq '_RecNum'
3322 0 13 if $Field eq '_SelNum'
3325 0 36 unless $$this{$Field} or $$Pseudo{$Field}
3357 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) { }
3492 8 2 @_ == 1 ? :
3502 0 10 unless ref $SortOrder eq 'ARRAY' and @$SortOrder
3510 3 7 unless ref $Selection eq 'ARRAY'
3515 0 10 unless ref $SortSpecs eq 'HASH'
3517 0 10 if $NeedRecNum
3522 0 10 unless ref $SRoutines eq 'HASH'
3528 0 10 unless CORE::length $DefaultSortType and exists $$SRoutines{$DefaultSortType}
3540 0 10 $NeedRecNum ? :
3549 0 14 unless $$Cols{$_}
3550 12 2 unless $$SortSpecs{$_}
12 2 unless ${{} unless $$SortSpecs{$_};}{'SortDirection'}
3551 12 2 unless $$SortSpecs{$_}
13 1 unless ${{} unless $$SortSpecs{$_};}{'SortType'}
3552 0 14 unless $$SRoutines{$_} or $$SRoutines{'String'}
3585 58 4 if $CmpVal
3589 10 48 if $ProgCount++ % 200 == 0
3600 10 0 unless $ShowedProgress
3673 2 6 if (defined $SortOrder and $Valid) { }
1 5 elsif (defined $SortOrder) { }
3705 1 79 if defined $$this{'_SortOrder'}
3779 1 45 if $SortSpecs
3802 3 1 if $SortSpec
3810 0 4 unless defined $$SortSpec{'SortDirection'}
3860 1 5 if (defined $DefaultSortDir)
3868 6 0 defined $$this{'_DefaultSortDirection'} ? :
3906 1 5 if (defined $DefaultSortType)
3913 6 0 defined $$this{'_DefaultSortType'} ? :
4048 3 35 if (defined $Routine)
4077 2 2 if ($Valid) { }
4095 0 42 unless $$this{'_SRoutines'}
4135 0 1 @_ == 1 ? :
4144 1 0 if ($FieldList)
4155 1 0 if ($Selection)
4177 0 50 @_ == 1 ? :
4301 0 3 if $LineEnding
4627 0 19 @_ == 1 ? :
4639 0 19 unless defined $HeaderRow
4642 0 19 unless CORE::length $ReturnEncoding
4645 0 19 unless defined $ReturnMap
4648 18 1 unless defined $MacRomanMap
4651 0 19 unless int $MaxRecords == $MaxRecords
4660 0 19 unless (my $File = 'IO::File'->new("<$FileName"))
4663 0 19 unless my $FileSize = (stat $File)[7]
4670 0 19 unless $LineEnding ||= guess_endings($File)
4678 15 4 if $DoMacMapping
4691 19 0 if ($HeaderRow) { }
4695 0 19 unless $_ = <$File>
4699 0 19 unless $FDelimiter ||= guess_delimiter($_)
4703 15 4 if $DoMacMapping
4720 0 0 unless $FieldListValid
4742 5 14 $FieldListValid ? :
4781 0 57 unless $FDelimiter ||= guess_delimiter($_)
4785 45 12 if $DoMacMapping
4799 57 0 unless ($IgnoreQuotes)
4801 0 180 $InQuote ? :
0 180 $1 ? :
4808 57 0 unless ($IgnoreQuotes)
4814 237 0 if (CORE::length $_)
4819 237 0 if $ReturnMap
4827 213 0 if CORE::length $FieldVals[$_]
4832 0 57 if $MaxRecords and $RecordsRead >= $MaxRecords
4845 0 57 if ($RecordsRead % 100 == 0 and $RecordsRead + 100 > $#{$$FieldVectors[$$FieldNums[0]];})
4850 0 0 if $MaxRecords and $MaxRecords < $EstTotalRecords
4853 0 0 if ($EstTotalRecords > $#{$$FieldVectors[$$FieldNums[0]];})
4863 0 0 $EstTotalRecords ? :
0 57 if $RecordsRead % 100 == 0
4873 0 19 if ($WroteProg)
4875 0 0 unless $RecordsRead % 100 == 0
4928 0 19 unless $Success
4932 19 0 if $File
4951 5 74 @_ == 1 ? :
4961 11 68 unless $CacheOnRead
4975 0 68 unless CORE::length $CacheFileName
4984 63 5 if (-e $FileName and -e $CacheFileName and (stat $CacheFileName)[9] > (stat $FileName)[9])
4993 0 63 unless defined $Data
4997 63 5 if (ref $Data eq 'HASH')
5005 0 63 unless $$Data{'_Newline'} eq "\n"
5011 18 45 if (ref $FieldList eq 'ARRAY' and @$FieldList) { }
1 44 elsif ($$Data{'_Subset'}) { }
5022 2 16 if @$MissingFields
5076 0 60 if ($$this{'_MaxRecords'} and $this->length > $$this{'_MaxRecords'})
5106 0 8 unless $Success = $this->read_file(%$Params)
5115 0 8 unless $this->try_file_write($CacheFileName)
5148 0 8 unless $this->write_cache($Data, $CacheFileName)
5428 0 8 @_ == 1 ? :
5434 0 8 unless my $WriteFileName = $this->write_file(@_)
5440 0 8 unless $WriteFileName
5443 8 0 unless $CacheOnWrite
5455 0 0 unless my $CacheFileName = $this->prep_cache_file($WriteFileName, $CacheExtension, $CacheSubDir)
5459 0 0 unless $this->try_file_write($CacheFileName)
5478 0 0 unless CORE::length $LineEnding
5481 0 0 unless CORE::length $FDelimiter
5484 0 0 unless defined $HeaderRow
5509 0 0 unless $this->write_cache($Data, $CacheFileName)
5532 8 0 if $Success
5541 0 8 @_ == 1 ? :
5553 0 8 if $FileName =~ /^-?$/
5556 0 8 if ref($FileName) =~ /(HANDLE)|(GLOB)/
5561 0 8 unless $GotHandle or CORE::length $FileName
5571 0 8 unless int $MaxRecords == $MaxRecords
5577 0 8 unless CORE::length $LineEnding
5580 0 8 unless CORE::length $FDelimiter
5583 8 0 unless defined $QuoteFields
5590 0 8 unless defined $ReturnMap
5593 8 0 unless defined $MacRomanMap
5600 5 3 if $DoMacMapping
5603 0 8 unless CORE::length $ReturnEncoding
5606 0 8 unless defined $HeaderRow
5609 0 8 unless defined $WriteExtension
5634 0 8 if ($GotHandle) { }
5642 0 8 $$Params{'_FileName'} ? :
5656 0 8 unless $this->verify_or_create_path($Path, $Sep)
5661 0 8 unless -w $Path
5664 0 8 if -e $WriteFileName and not -w $WriteFileName
5671 0 8 unless $OutFile
5680 0 8 if ($QuoteFields) { }
5706 8 0 if $QuoteCheck
5716 8 0 if $ReturnMap
5720 8 0 if ($HeaderRow)
5733 0 33 if $QuoteCheck and $X =~ /$QuoteOrDelimCheck/
5736 33 0 if $ReturnMap
5744 5 3 if $DoMacMapping
5746 8 0 if $HeaderRow
5755 0 8 $MaxRecords ? :
5771 0 99 if $QuoteCheck and $X =~ /$QuoteOrDelimCheck/
5774 99 0 if $ReturnMap
5782 15 9 if $DoMacMapping
5790 0 24 if $RecordsWritten % 100 == 0
5795 8 16 if $RecordsWritten >= $RecordsToWrite
5800 0 8 if ($WroteProg)
5802 0 0 unless $RecordsWritten % 100 == 0
5807 0 8 if ($GotHandle) { }
5817 8 0 unless ($GotHandle)
5823 0 8 unless $Success
5828 0 8 unless $Success
5830 8 0 $Success ? :
5866 0 0 unless my $Data = $this->format(@_)
5872 0 0 if (ref $Dest eq 'HANDLE')
5875 0 0 unless (ref $Dest)
5881 0 0 unless $Dest->print($$Data)
5891 0 1 @_ == 1 ? :
5897 1 0 unless $HaveShowTable
5903 0 0 unless CORE::length $DefaultSortType
5914 0 0 unless $$TypeMap{lc(@{{} unless $$SortSpecs{$_};}{'SortType'} || $DefaultSortType)}
5919 0 0 $MaxRecords ? :
5927 0 0 if $Rewind
5930 0 0 if $SelNum >= $RecordsToWrite
5933 0 0 CORE::length $_ > $MaxWidth ? :
5960 0 0 unless $fmt =~ /\n$/
5979 0 0 if $$Data[-1] =~ /^\s*$/s
5980 0 0 if $$Data[-1] =~ /^\s*$/s
6266 10 0 if (defined $$this{'_FieldList'} or defined $$that{'_FieldList'})
6290 0 10 if (defined $$this{'_SortOrder'} or defined $$that{'_SortOrder'})
6310 3 7 if (defined $$this{'_Selection'} or defined $$that{'_Selection'})
6323 10 0 if (defined $$this{'_SortSpecs'} or defined $$that{'_SortSpecs'})
6336 10 0 if (defined $$this{'_SRoutines'} or defined $$that{'_SRoutines'})
6367 0 2 unless my $that = ref($this)->new($Params, $FileName)
6371 0 2 unless $this->append($that)
6387 0 2 unless $this->append_file($FileName, $Params)
6406 74 52 if (defined $FirstFile)
6408 41 33 unless $Params
0 74 unless $this->read(%{{} unless $Params;}, '_FileName', $FirstFile)
6411 0 126 unless $this->append_files($FileNames, $Params)
6455 6 0 if (defined $$this{'_FieldList'} or defined $$that{'_FieldList'})
6474 0 6 if (defined $$this{'_SortOrder'} or defined $$that{'_SortOrder'})
6495 6 0 if (defined $$this{'_SortSpecs'} or defined $$that{'_SortSpecs'})
6508 6 0 if (defined $$this{'_SRoutines'} or defined $$that{'_SRoutines'})
6538 0 5 unless my $that = ref($this)->new($Params, $FileName)
6542 0 5 unless $this->combine($that)
6558 0 1 unless $this->combine_file($FileName, $Params)
6574 0 5 unless $Key1
6585 26 0 if $_ ne $Key1
6618 13 2 defined $_ ? :
6640 5 0 if (defined $$this{'_FieldList'})
6660 5 0 if (defined $$this{'_SortSpecs'} or defined $$that{'_SortSpecs'})
6673 5 0 if (defined $$this{'_SRoutines'} or defined $$that{'_SRoutines'})
6703 0 0 unless my $that = ref($this)->new($Params, $FileName)
6707 0 0 unless $this->join($that, $Key1, $Key2, $Fields)
6723 0 0 unless $this->join_file($FileName, $Params, $Key1, $Key2, $Fields)
6780 0 0 unless my $NewColNames = $this->col_delete($HeaderField)
7030 4 228 if defined $ProgSetting
7050 0 217 if -t STDERR
7070 2 225 if ref $Prog1 eq 'CODE'
7071 6 219 if $Prog1
7072 4 215 if defined $Prog1
7076 2 213 if ref $Prog2 eq 'CODE'
7077 211 2 if $Prog2
7087 11 214599 unless $$this{'_ProgTimeInfo'}
7110 214594 16 unless $Trigger
7113 6 10 if defined $Pos and $Tot
7118 5 11 unless not $SameOp and $Wait
7187 0 0 unless defined $MessagePrefix
7197 0 0 unless defined $MessagePrefix
7207 0 0 unless defined $MessagePrefix
7230 0 0 if ($OmitCount) { }
7239 0 0 if $DoOmit
7241 0 0 $DoOmit ? :
0 0 $DoOmit ? :
7242 0 0 $ExtractFieldList ? :
0 0 if $DebugFile
7306 0 0 unless @Things
7308 0 0 if ($HaveDumper) { }
7457 70 0 CORE::length $Path ? :
7470 1 69 $Absolute ? :
7474 0 70 unless $this->verify_or_create_path($CacheDir, $Sep)
7477 0 70 unless -r $CacheDir
7489 0 70 if $CacheFilePath eq $FileName
7495 0 70 unless $this->try_file_read($CacheFilePath) or $this->try_file_write($CacheFilePath)
7500 70 0 $Success ? :
7519 533 0 if -d $WholePath
7532 0 0 unless mkdir $TryDir, 511
7551 10 0 if $File
7554 0 10 unless $File
7559 0 10 if -e $Path
7575 2 68 unless my $File = 'IO::File'->new("<$Path")
7587 164 828 exists $$Params{$Param} ? :
7673 19 0 if $Buf =~ /((?:\x0D\x0A)|(?:\x0D)|(?:\x0A))[^\x0D\x0A]/
7679 0 0 if $Actual < $BlockSize * $ReadCount
7714 0 86 if $OSName =~ /mac /xi
7715 0 86 if $OSName =~ /(?
7726 0 70 if $OSName =~ /mac /xi
7727 0 70 if $OSName =~ /(?
7733 5 214615 $_[0] < $_[1] ? :
7734 20 114 $_[0] > $_[1] ? :