Branch Coverage

lib/UR/Object/Type/InternalAPI.pm
Criterion Covered Total %
branch 282 392 71.9


line true false branch
38 288502 10704 unless $ds
40 1 10703 unless 'UR::DataSource'->get($ds)
62 0 271791 unless $property_name
64 117 271674 if (index($property_name, '.') != -1)
73 111 139 if $link eq $chain[-1]
75 6 133 unless @joins
80 2 109 unless @pmeta and $pmeta[-1]
81 91 18 if wantarray
86 13 271661 if ($pos != -1)
90 201034 32162 if (exists $self->{'_property_meta_for_name'} and $self->{'_property_meta_for_name'}{$property_name})
99 43158 149680 if ($property)
115 73 2726 if ($property_metas[$i]->id eq "UR::Object\tid" and not $property_name =~ /\./)
120 39 34 if (@id_properties == 1 and $id_properties[0] eq 'id')
144 27 40 if ($flattened_name)
148 8 59 if (my $where = $join->{'where'})
156 0 8 if substr($key, 0, 1) eq '-'
161 0 8 if (@values)
182 23345 9355 if (@id_property_objects == 0)
200 0 14337 unless $property_name
201 6543 7794 unless ($self->{'_resolve_property_aliases'} and $self->{'_resolve_property_aliases'}{$property_name})
206 6534 9 if (@property_metas) { }
214 6 3 unless $prop_meta
216 1 2 unless $foreign_class
218 1 1 unless (@property_names >= $name_count)
237 5283 37446 unless ($self->{'_id_property_names'})
239 3114 2169 unless ($self->{'id_by'} and @id_by = @{$self->{'id_by'};})
242 0 3114 unless $parent_class
244 3114 0 if @id_by
256 467 7361 unless ($self->{'_all_id_property_names'})
297 0 14367 if ($self->{'_first_table_name'})
304 7427 11541 if (my $table_name = $co->table_name)
318 101767 23504 if ($self->{'_ordered_inherited_class_names'})
326 3078 55081 if $seen{$ancestor_class_name}
329 0 55081 unless $class_meta
330 0 55081 unless $class_meta->{'is'}
341 3452 2479 if ($self->{'_all_property_names'})
348 3286 7122 if $class_name eq 'UR::Object'
350 7122 0 if (my $has = $class_meta->{'has'})
374 12859 11898 if ($meta_classes{$class_name} or $class_name =~ /::Type/) { }
387 0 0 unless $class_name
400 27 1161 if exists $self->{'___first_sub_classification_method_name'}
403 937 224 unless ($self->{'___first_sub_classification_method_name'})
405 1 1677 if $self->{'___first_sub_classification_method_name'} = $parent_class->sub_classification_method_name
417 395929 7204 if exists $self->{'__subclassify_by'}
420 7065 139 unless ($self->{'__subclassify_by'})
422 24 15967 if $self->{'__subclassify_by'} = $parent_class->__subclassify_by
444 77 314 unless ($decomposer = $self->{'get_composite_id_decomposer'})
446 64 13 if (@id_property_names == 1) { }
452 5 240 if (ref $_[0]) { }
460 0 26 $_ eq '' ? :
464 5 0 if @decomposed_ids
494 1390 1800 if ($class_meta->composite_id_separator)
505 2003 297697 unless ($resolver = $self->{'get_composite_id_resolver'})
507 627 1376 if (@id_property_names == 1) { }
513 1 306260 if (ref $_[0] eq 'ARRAY') { }
525 4 4 if $id[$id_num]
552 0 0 if (@id_sets == 0) { }
553 0 0 if (not ref $value) { }
561 0 0 if (not ref $value) { }
576 0 0 if (@id_sets == 1) { }
597 835 19724 unless ($sorter)
601 14 1411 if ($property =~ /^(-|\+)(.*)$/) { }
609 0 1425 if (@extra)
614 893 532 if ($pmeta) { }
0 532 elsif ($UR::initialized) { }
634 49 703005 $is_descending[$n] ? :
638 12 703042 if (not defined $second) { }
6 703036 elsif (not defined $first) { }
645 5092 697944 $is_numeric[$n] ? :
646 355404 347632 if $cmp
658 4824 2412 if $_ ne 'UR::Object'
664 6 436 if $meta_classes{$class_name}
681 6 2497 if (@_)
686 145 2352 unless (exists $uncachable_types{$class_name})
689 20 4172 if ($class_name->isa($type) and not $uncachable_types{$type})
695 0 145 unless (exists $uncachable_types{$class_name})
719 0 643 if (@id_property_names > 1)
733 0 0 if ($data_source) { }
749 246 470 unless ($self->{'_resolved_id_generator'})
752 7 239 if (ref $id_generator eq 'CODE') { }
211 28 elsif ($id_generator and $id_generator =~ /^\-(\S+)/) { }
758 0 211 unless ($subref)
768 28 0 if ($data_source)
788 0 2065 unless ($subject_class_name)
792 0 2065 unless defined $extension_for_support_class
794 28 2037 if ($subject_class_name eq 'UR::Object')
800 1630 407 unless ($support_class_suffixes{$extension_for_support_class})
807 0 407 unless ($subject_class_obj)
814 0 407 if ($class_obj = 'UR::Object::Type'->is_loaded($new_class_name))
826 396 13 unless not $_ =~ /^UR::/
830 141 266 unless (@parent_class_names)
831 141 0 if ('UR::Object::Type'->get('class_name', 'UR::Object::' . $extension_for_support_class))
836 0 407 unless (@parent_class_names)
845 262 145 if ($extension_for_support_class eq 'Ghost') { }
890 0 98 if ($bootstrapping)
893 91 7 if $self->table_name
897 0 7 if $class_name eq 'UR::Object'
899 0 7 if ($class_obj->has_direct_table)
908 77 69 if $self->table_name
910 2 67 if ($self->data_source_id and $self->data_source_id->isa('UR::DataSource::Default'))
912 1 1 if exists &$load_function_name
920 60 0 if $self->table_name
924 0 0 if $class_obj and $class_obj->has_direct_table
935 0 0 if $class_obj and $class_obj->has_direct_table
958 2 53131 unless ($class_name)
960 2 0 if (my $data_source = $params->{'data_source_id'})
963 2 0 if ($namespace)
970 0 0 defined $params->{$_} ? :
977 269 52862 if (ref $class_name eq 'ARRAY')
988 49090 3772 if $class_obj
993 0 3549 if ($class_name ne 'UR::Object::Type::Ghost' and 'UR::Object::Type::Ghost'->can('class') and $UR::Context::current->get_objects_for_class_and_rule('UR::Object::Type::Ghost', $rule, 0))
1009 2691 1081 unless ($exception)
1013 2680 11 if $class_obj
1015 1081 11 if ($exception)
1020 4 1077 unless ($exception =~ /Can't locate $module_path in \@INC/)
1034 0 2229 if ($class_obj)
1038 0 0 if $class_obj
1049 1433 796 $base ? :
1056 0 2229 if ($exception and $exception =~ /^Error while autoloading/)
1060 2065 164 if ($base_class_obj)
1065 407 1658 if ($class_obj)
1099 7254 103 if ($path = $INC{$namespace_expected_module}) { }
1105 58 45 if ($namespace_obj)
1107 0 58 if ($@)
1113 7284 73 if $path
1117 388 7284 unless ($path)
1126 7017 267 if ($meta) { }
1142 2 7282 if (defined $expected_directory and not $expected_directory =~ m(^[/\\]))
1150 7284 0 if ($expected_directory)
1155 6867 5411 if ($dir and -e $dir . '/' . $class_path)
1161 417 6867 unless ($found)
1167 0 6867 if ($expected_directory and $expected_directory ne $found)
1182 0 6867 if ($@)
1190 6867 0 if ($INC[$_] eq $expected_directory)
1226 98466 0 ref $_[0] ? :
1234 0 2567 if ($self->{'_all_property_type_names'})
1245 7309 0 if (my $has = $class_meta->{'has'})
1254 0 114 unless @_
1259 117 6 if ($property_object)
1261 3 114 unless $property_object->column_name
1271 0 2046 unless @_
1276 1970 2452 if ($properties->[$i] eq $property_name)
1283 0 56 if $column_name
1290 0 5230 unless @_
1298 3040 2190 if (not $table_name) { }
2148 42 elsif ($table_name and $self_table_name and lc $self_table_name eq lc $table_name) { }
42 0 elsif ($table_name) { }
1301 3030 4810 if (lc $columns->[$i] eq $column_name)
1313 2 2146 unless $property_name
1315 2144 2 if ($prop_meta->class_name eq $self->class_name and lc $prop_meta->column_name eq $column_name)
1325 12 80 unless $class_object->data_source
1330 44 36 if (not $class_object_table_name or $table_name ne lc $class_object_table_name)
1336 40 40 if not $class_object_table_name or $table_name ne lc $class_object_table_name
1341 36 4 if $property_name
1358 0 0 unless (@_)
1364 0 0 if (exists $constraints->{$constraint_name})
1368 0 0 unless (@_)
1382 0 0 unless (@_)
1388 0 0 unless (exists $constraints->{$constraint_name})
1394 0 0 if ($self->{'constraints'}[$i]{'sql'} = $constraint_name)
1406 1240 433 if ($self->{'_unique_property_sets'})
1414 1362 0 if ($class_meta->{'constraints'})
1428 0 8 if ($self->{'_unique_property_set_hashref'})
1436 51 0 if ($class_meta->{'constraints'})
1439 0 0 if $unique_property_set_hashref->{$unique_group}
1460 46971 3 if $method eq 'load' or $method eq 'unload'
1461 0 3 unless ref $property_obj
1466 2 1 unless defined $old_val
1467 3 0 unless defined $new_val
1469 2 1 if ($method eq 'create') { }
0 1 elsif ($method eq 'delete') { }
0 2 elsif ($method eq 'is_id' and $new_val ne $old_val) { }
1470 2 0 unless ($class_obj->{'has'}{$property_name})
1479 0 2 if (defined $property_obj->is_id)
1484 0 0 if (defined $property_obj->is_id)
1490 0 0 $new_val ? :
1494 0 3 if (exists $class_obj->{'has'}{$property_name} and exists $class_obj->{'has'}{$property_name}{$method})
1517 0 9 if $seen{$subclass}++
1537 0 0 if $method eq 'load' or $method eq 'unload'
1541 0 0 if ($method eq 'create') { }
0 0 elsif ($method eq 'delete') { }
1544 0 0 if ($pos <= @{$class->{'id_by'};}) { }
1553 0 0 if ($class->{'id_by'}[$i] eq $property_name)
1580 0 0 if (my $namespace = delete $extra{'namespace'})
1581 0 0 unless (keys %extra)
1593 0 24689 if ($_[0] eq 'delete')
1608 367 372 unless defined $aspect and length $aspect
1611 61 311 if $STANDARD_VALID_SIGNALS{$aspect}
1615 17 2924 if $property eq $aspect
1618 145 149 unless (exists $self->{'_is_valid_signal'})
1622 79 215 if $self->{'_is_valid_signal'}{$aspect}
1625 168 43 if ($parent_meta->_is_valid_signal($aspect))
1637 24688 53438 if (@_)
1666 2736 16411 unless (exists $self->{'_accessor_singular_names'}{$property_name})
1667 2 2734 if $self->generated
1668 2734 2 if ($bootstrapping or not $self->generated or $property_meta and $property_meta->is_many) { }