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   21253 use strict;
  47         54  
  47         1063  
4 47     47   133 use warnings;
  47         48  
  47         1009  
5 47     47   136 use parent qw(JSV::Keyword);
  47         57  
  47         181  
6              
7 47     47   1996 use JSV::Keyword qw(:constants);
  47         60  
  47         9150  
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 112 my ($class, $context, $schema, $instance) = @_;
15              
16 121         94 push @{ $context->{schema_pointer_history} }, $context->{current_schema_pointer};
  121         178  
17 121         242 $context->{current_schema_pointer} = $class->keyword_value($schema);
18            
19             $context->register_cleanup_callback(sub {
20 121     121   85 $context->{current_schema_pointer} = pop @{ $context->{schema_pointer_history} };
  121         362  
21 121         408 });
22              
23             }
24              
25             1;