File: 07-parser.t

package info (click to toggle)
libmarc-spec-perl 2.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 244 kB
  • sloc: perl: 686; makefile: 2
file content (47 lines) | stat: -rw-r--r-- 2,001 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use Test::More;
use MARC::Spec;
use MARC::Spec::Subfield;

my $parser = MARC::Spec::parse('006');

# checking field
ok $parser->field->tag eq '006'        , 'field tag';
ok $parser->field->index_start == 0    , 'field index_start';
ok $parser->field->index_end eq '#'    , 'field index_end';
ok $parser->field->index_length == -1  , 'field index_length';
ok $parser->field->has_char_pos eq ''  , 'field attribute has_char_pos false';
ok $parser->field->has_char_start eq '', 'field attribute has_char_start false';
ok $parser->field->has_char_end eq ''  , 'field attribute has_char_end false';

$parser->field->index_start(1);
ok $parser->field->index_start == 1    , 'field index_start';
ok $parser->field->index_end eq '#'    , 'field index_end';
ok $parser->field->index_length == -1  , 'field index_length';

$parser->field->index_end(3);
ok $parser->field->index_end == 3      , 'field index_end';
ok $parser->field->index_length == 3   , 'field index_length';

$parser->field->set_char_start_end('0-#');
ok $parser->field->char_start == 0     , 'field char_start';
ok $parser->field->char_end eq '#'     , 'field char_end';
ok $parser->field->char_length == -1   , 'field char_length';
ok $parser->field->has_char_pos        , 'field attribute has_char_pos true';
ok $parser->field->has_char_start      , 'field attribute has_char_start true';
ok $parser->field->has_char_end        , 'field attribute has_char_end true';

$parser->field->char_start(1);
ok $parser->field->char_start == 1     , 'field char_start';
ok $parser->field->char_end eq '#'     , 'field char_end';
ok $parser->field->char_length == -1   , 'field char_length';

$parser->field->char_end(3);
ok $parser->field->char_end == 3       , 'field char_end';
ok $parser->field->char_length == 3    , 'field char_length';

my $subfield = MARC::Spec::Subfield->new('a');

$parser->add_subfield($subfield);
ok $parser->subfields->[0]->code eq 'a', 'added new subfield';

done_testing();