Condition Coverage

blib/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
Criterion Covered Total %
condition 80 98 81.6


and 3 conditions

line !l l&&!r l&&r condition
76 2233 194 18 $_ eq "boolean" and $$state{"scalarref_booleans"}
2427 14 4 $_ eq "boolean" and $$state{"scalarref_booleans"} and $type eq "reference to SCALAR"
2149 298 424 $_ eq "number" and $type eq "integer"
1516 919 12 $type eq "string" and $$state{"stringy_numbers"}
2435 6 6 $type eq "string" and $$state{"stringy_numbers"} and &looks_like_number($data)
2441 4 2 $type eq "string" and $$state{"stringy_numbers"} and &looks_like_number($data) and $_ eq 'number' || $_ eq 'integer' && $data == int $data
112 232 0 2 $$state{"stringy_numbers"} and is_type("string", $data)
232 0 2 $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
0 0 2 $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data) and do { $data = 0 + $data; 1 }
116 54 73 767 get_type($data) eq "integer" and get_type($$schema{"multipleOf"}) eq "integer"
134 243 0 1 $$state{"stringy_numbers"} and is_type("string", $data)
243 0 1 $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
137 377 32 6 $$state{"specification_version"} eq "draft4" and $$schema{"exclusiveMaximum"}
160 229 0 1 $$state{"stringy_numbers"} and is_type("string", $data)
229 0 1 $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
170 259 0 1 $$state{"stringy_numbers"} and is_type("string", $data)
259 0 1 $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
173 474 33 4 $$state{"specification_version"} eq "draft4" and $$schema{"exclusiveMinimum"}
196 229 0 1 $$state{"stringy_numbers"} and is_type("string", $data)
229 0 1 $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
220 0 1 1287 assert_keyword_type($state, $schema, "string") and assert_pattern($state, $$schema{"pattern"})
284 1923 184 0 $$state{"specification_version"} eq "draft4" and not @{$$schema{"required"}}

or 2 conditions

line l !l condition
56 0 4 $type // ""
2878 28 $type // ""
63 4 0 $$schema{"type"} // ""
38510 0 $$schema{"type"} // ""

or 3 conditions

line l !l&&r !l&&!r condition
76 6321 424 2447 $type eq $_ or $_ eq "number" and $type eq "integer"
2 0 4 $_ eq 'number' || $_ eq 'integer' && $data == int $data
6745 2 2445 $type eq $_ or $_ eq "number" and $type eq "integer" or $type eq "string" and $$state{"stringy_numbers"} and &looks_like_number($data) and $_ eq 'number' || $_ eq 'integer' && $data == int $data
112 892 4 230 is_type("number", $data) or $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data) and do { $data = 0 + $data; 1 }
134 581 2 242 is_type("number", $data) or $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
160 318 2 228 is_type("number", $data) or $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
170 686 2 258 is_type("number", $data) or $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)
196 255 2 228 is_type("number", $data) or $$state{"stringy_numbers"} and is_type("string", $data) and &looks_like_number($data)