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 44     44   29615 use strict;
  44         85  
  44         1035  
4 44     44   196 use warnings;
  44         71  
  44         1025  
5 44     44   191 use parent qw(JSV::Keyword);
  44         78  
  44         213  
6              
7 44     44   2032 use JSV::Keyword qw(:constants);
  44         70  
  44         10674  
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 215 my ($class, $context, $schema, $instance) = @_;
15              
16 121         138 push @{ $context->{schema_pointer_history} }, $context->{current_schema_pointer};
  121         334  
17 121         479 $context->{current_schema_pointer} = $class->keyword_value($schema);
18            
19             $context->register_cleanup_callback(sub {
20 121     121   139 $context->{current_schema_pointer} = pop @{ $context->{schema_pointer_history} };
  121         577  
21 121         633 });
22              
23             }
24              
25             1;