| 
      
            Lines 1-6
          
      
      
        Link Here
      
     | 
  
        
          | 1 | 
          use Modern::Perl;  | 
          1 | 
          use Modern::Perl;  | 
        
        
          | 2 | 
           | 
          2 | 
           | 
        
          
            
              | 3 | 
              use Test::More tests => 74;  | 
              3 | 
              use Test::More tests => 77;  | 
            
        
          | 4 | 
           | 
          4 | 
           | 
        
        
          | 5 | 
          use_ok("MARC::Field"); | 
          5 | 
          use_ok("MARC::Field"); | 
        
        
          | 6 | 
          use_ok("MARC::Record"); | 
          6 | 
          use_ok("MARC::Record"); | 
        
  
    | 
      
            Lines 146-161
          my @USERENV = (
      
      
        Link Here
      
     | 
  
        
          | 146 | 
          C4::Context->_new_userenv ('DUMMY_SESSION_ID'); | 
          146 | 
          C4::Context->_new_userenv ('DUMMY_SESSION_ID'); | 
        
        
          | 147 | 
          C4::Context->set_userenv ( @USERENV );  | 
          147 | 
          C4::Context->set_userenv ( @USERENV );  | 
        
        
          | 148 | 
           | 
          148 | 
           | 
        
          
            
              | 149 | 
              $template_id = AddModificationTemplate("template_name"); | 
              149 | 
              $template_id = AddModificationTemplate("new_template_test"); | 
            
        
          | 150 | 
          like( $template_id, qr|^\d+$|, "new template returns an id" );  | 
          150 | 
          like( $template_id, qr|^\d+$|, "new template returns an id" );  | 
        
        
          | 151 | 
           | 
          151 | 
           | 
        
        
          | 152 | 
          is( AddModificationTemplateAction(  | 
          152 | 
          is( AddModificationTemplateAction(  | 
        
            
               | 
               | 
              153 | 
                  $template_id, 'delete_field', 0,  | 
            
            
              | 154 | 
                  '245', '', '', '', '', '',  | 
            
            
              | 155 | 
                  '', '', '',  | 
            
            
              | 156 | 
                  'if', '245', 'a', 'equals', 'Bad title', '',  | 
            
            
              | 157 | 
                  'Delete field 245 if 245$a eq "Bad title"'  | 
            
            
              | 158 | 
              ), 1, 'Add first action: delete field 245 if 245$a eq "Bad title"');  | 
            
            
              | 159 | 
               | 
            
            
              | 160 | 
              is( AddModificationTemplateAction(  | 
            
        
          | 153 | 
              $template_id, 'copy_field', 0,  | 
          161 | 
              $template_id, 'copy_field', 0,  | 
        
        
          | 154 | 
              '245', 'a', '', '246', 'a',  | 
          162 | 
              '245', 'a', '', '246', 'a',  | 
        
        
          | 155 | 
              '', '', '',  | 
          163 | 
              '', '', '',  | 
        
        
          | 156 | 
              '', '', '', '', '', '',  | 
          164 | 
              '', '', '', '', '', '',  | 
        
        
          | 157 | 
              'copy field 245$a to 246$a'  | 
          165 | 
              'copy field 245$a to 246$a'  | 
        
          
            
              | 158 | 
              ), 1, 'Add first action: copy 245$a to 246$a');  | 
              166 | 
              ), 1, 'Add second action: copy 245$a to 246$a');  | 
            
        
          | 159 | 
           | 
          167 | 
           | 
        
        
          | 160 | 
          is( AddModificationTemplateAction(  | 
          168 | 
          is( AddModificationTemplateAction(  | 
        
        
          | 161 | 
              $template_id, 'delete_field', 0,  | 
          169 | 
              $template_id, 'delete_field', 0,  | 
        
  
    | 
      
            Lines 163-169
          is( AddModificationTemplateAction(
      
      
        Link Here
      
     | 
  
        
          | 163 | 
              '', '', '',  | 
          171 | 
              '', '', '',  | 
        
        
          | 164 | 
              'if', '650', '9', 'equals', '462', '',  | 
          172 | 
              'if', '650', '9', 'equals', '462', '',  | 
        
        
          | 165 | 
              'Delete field 650$a if 650$9=462'  | 
          173 | 
              'Delete field 650$a if 650$9=462'  | 
        
          
            
              | 166 | 
              ), 1, 'Add second action: delete field 650$a if 650$9=462');  | 
              174 | 
              ), 1, 'Add third action: delete field 650$a if 650$9=462');  | 
            
        
          | 167 | 
           | 
          175 | 
           | 
        
        
          | 168 | 
          is( AddModificationTemplateAction(  | 
          176 | 
          is( AddModificationTemplateAction(  | 
        
        
          | 169 | 
              $template_id, 'update_field', 0,  | 
          177 | 
              $template_id, 'update_field', 0,  | 
        
  
    | 
      
            Lines 171-177
          is( AddModificationTemplateAction(
      
      
        Link Here
      
     | 
  
        
          | 171 | 
              '', '', '',  | 
          179 | 
              '', '', '',  | 
        
        
          | 172 | 
              'unless', '650', '9', 'equals', '42', '',  | 
          180 | 
              'unless', '650', '9', 'equals', '42', '',  | 
        
        
          | 173 | 
              'Update field 952$p with "3010023917_updated" if 650$9 != 42'  | 
          181 | 
              'Update field 952$p with "3010023917_updated" if 650$9 != 42'  | 
        
          
            
              | 174 | 
              ), 1, 'Add third action: update field 952$p with "3010023917_updated" if 650$9 != 42');  | 
              182 | 
              ), 1, 'Add fourth action: update field 952$p with "3010023917_updated" if 650$9 != 42');  | 
            
        
          | 175 | 
           | 
          183 | 
           | 
        
        
          | 176 | 
          is( AddModificationTemplateAction(  | 
          184 | 
          is( AddModificationTemplateAction(  | 
        
        
          | 177 | 
              $template_id, 'move_field', 0,  | 
          185 | 
              $template_id, 'move_field', 0,  | 
        
  
    | 
      
            Lines 179-185
          is( AddModificationTemplateAction(
      
      
        Link Here
      
     | 
  
        
          | 179 | 
              '', '', '',  | 
          187 | 
              '', '', '',  | 
        
        
          | 180 | 
              'if', '952', 'c', 'equals', '^GEN', '1',  | 
          188 | 
              'if', '952', 'c', 'equals', '^GEN', '1',  | 
        
        
          | 181 | 
              'Move field 952$d to 952$e if 952$c =~ /^GE/'  | 
          189 | 
              'Move field 952$d to 952$e if 952$c =~ /^GE/'  | 
        
          
            
              | 182 | 
              ), 1, 'Add fourth action: move field 952$d to 952$e if 952$c =~ /^GE/');  | 
              190 | 
              ), 1, 'Add fifth action: move field 952$d to 952$e if 952$c =~ /^GE/');  | 
            
            
               | 
               | 
              191 | 
               | 
            
            
              | 192 | 
              is( AddModificationTemplateAction(  | 
            
            
              | 193 | 
                  $template_id, 'update_field', 0,  | 
            
            
              | 194 | 
                  '650', 'a', 'Computer algorithms.', '', '', '',  | 
            
            
              | 195 | 
                  '', '', '',  | 
            
            
              | 196 | 
                  'if', '650', '9', 'equals', '499', '',  | 
            
            
              | 197 | 
                  'Update field 650$a with "Computer algorithms." to 651 if 650$9 == 499'  | 
            
            
              | 198 | 
              ), 1, 'Add sixth action: update field 650$a with "Computer algorithms." if 650$9 == 499');  | 
            
            
              | 199 | 
               | 
            
            
              | 200 | 
              is( AddModificationTemplateAction(  | 
            
            
              | 201 | 
                  $template_id, 'move_field', 0,  | 
            
            
              | 202 | 
                  '650', '', '', '651', '', '',  | 
            
            
              | 203 | 
                  '', '', '',  | 
            
            
              | 204 | 
                  'if', '650', '9', 'equals', '499', '',  | 
            
            
              | 205 | 
                  'Move field 650 to 651 if 650$9 == 499'  | 
            
            
              | 206 | 
              ), 1, 'Add seventh action: move field 650 to 651 if 650$9 == 499');  | 
            
            
              | 207 | 
               | 
            
        
          | 183 | 
           | 
          208 | 
           | 
        
        
          | 184 | 
          my $record = new_record();  | 
          209 | 
          my $record = new_record();  | 
        
        
          | 185 | 
           | 
          210 | 
           | 
        
  
    | 
      
            Lines 205-215
          sub new_record {
      
      
        Link Here
      
     | 
  
        
          | 205 | 
                      c => 'Donald E. Knuth.',  | 
          230 | 
                      c => 'Donald E. Knuth.',  | 
        
        
          | 206 | 
                  ),  | 
          231 | 
                  ),  | 
        
        
          | 207 | 
                  MARC::Field->new(  | 
          232 | 
                  MARC::Field->new(  | 
        
            
               | 
               | 
              233 | 
                          245, '1', '4',  | 
            
            
              | 234 | 
                          a => 'field to remove',  | 
            
            
              | 235 | 
                          c => 'Donald E. Knuth.',  | 
            
            
              | 236 | 
                      ),  | 
            
            
              | 237 | 
                      MARC::Field->new(  | 
            
        
          | 208 | 
                      650, ' ', '0',  | 
          238 | 
                      650, ' ', '0',  | 
        
        
          | 209 | 
                      a => 'Computer programming.',  | 
          239 | 
                      a => 'Computer programming.',  | 
        
        
          | 210 | 
                      9 => '462',  | 
          240 | 
                      9 => '462',  | 
        
        
          | 211 | 
                  ),  | 
          241 | 
                  ),  | 
        
        
          | 212 | 
                  MARC::Field->new(  | 
          242 | 
                  MARC::Field->new(  | 
        
            
               | 
               | 
              243 | 
                          650, ' ', '0',  | 
            
            
              | 244 | 
                          a => 'Computer programming.',  | 
            
            
              | 245 | 
                          9 => '499',  | 
            
            
              | 246 | 
                      ),  | 
            
            
              | 247 | 
                      MARC::Field->new(  | 
            
        
          | 213 | 
                      952, ' ', ' ',  | 
          248 | 
                      952, ' ', ' ',  | 
        
        
          | 214 | 
                      p => '3010023917',  | 
          249 | 
                      p => '3010023917',  | 
        
        
          | 215 | 
                      y => 'BK',  | 
          250 | 
                      y => 'BK',  | 
        
  
    | 
      
            Lines 250-255
          sub expected_record {
      
      
        Link Here
      
     | 
  
        
          | 250 | 
                      246, '', ' ',  | 
          285 | 
                      246, '', ' ',  | 
        
        
          | 251 | 
                      a => 'The art of computer programming',  | 
          286 | 
                      a => 'The art of computer programming',  | 
        
        
          | 252 | 
                  ),  | 
          287 | 
                  ),  | 
        
            
               | 
               | 
              288 | 
                      MARC::Field->new(  | 
            
            
              | 289 | 
                          651, ' ', '0',  | 
            
            
              | 290 | 
                          a => 'Computer algorithms.',  | 
            
            
              | 291 | 
                          9 => '499',  | 
            
            
              | 292 | 
                      ),  | 
            
        
          | 253 | 
              );  | 
          293 | 
              );  | 
        
        
          | 254 | 
              $record->append_fields(@fields);  | 
          294 | 
              $record->append_fields(@fields);  | 
        
        
          | 255 | 
              return $record;  | 
          295 | 
              return $record;  | 
        
            
              | 256 | 
              -   | 
               | 
               |