File Coverage

blib/lib/JSV/Keyword/Draft4/Id.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 0 1 0.0
total 25 26 96.1


line stmt bran cond sub pod time code
1             package JSV::Keyword::Draft4::Id;
2              
3 47     47   36813 use strict;
  47         89  
  47         1283  
4 47     47   242 use warnings;
  47         82  
  47         1297  
5 47     47   237 use parent qw(JSV::Keyword);
  47         95  
  47         280  
6              
7 47     47   2621 use JSV::Keyword qw(:constants);
  47         98  
  47         13703  
8              
9             sub instance_type() { INSTANCE_TYPE_ANY(); }
10             sub keyword() { 'id' }
11             sub keyword_priority() { 7; }
12              
13             sub validate {
14 121     121 0 225 my ($class, $context, $schema, $instance) = @_;
15              
16 121         143 push @{ $context->{schema_pointer_history} }, $context->{current_schema_pointer};
  121         325  
17 121         399 $context->{current_schema_pointer} = $class->keyword_value($schema);
18            
19             $context->register_cleanup_callback(sub {
20 121     121   146 $context->{current_schema_pointer} = pop @{ $context->{schema_pointer_history} };
  121         667  
21 121         677 });
22              
23             }
24              
25             1;