Catmandu-MAB2

 view release on metacpan or  search on metacpan

t/05-writer.t  view on Meta::CPAN


foreach my $record (@mab_records) {
    $writer->write($record);
}

# ToDo: Catmandu::Exporter::MAB2::commit
$writer->end();

close($fh);

my $out = do { local ( @ARGV, $/ ) = $filename; <> };

is $out, <<'MABXML';
<?xml version="1.0" encoding="UTF-8"?>
<datei xmlns="http://www.ddb.de/professionell/mabxml/mabxml-1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ddb.de/professionell/mabxml/mabxml-1.xsd http://www.d-nb.de/standardisierung/formate/mabxml-1.xsd"...
<datensatz typ="h" status="n" mabVersion="M2.0">
<feld nr="001" ind=" ">47918-4</feld>
<feld nr="310" ind=" ">Daß Ümläüt</feld>
<feld nr="406" ind="b">
    <uf code="j">1983</uf>
</feld>

t/05-writer.t  view on Meta::CPAN


($fh, $filename) = tempfile();
$writer = MAB2::Writer::RAW->new( fh => $fh );

foreach my $record (@mab_records) {
    $writer->write($record);
}

close($fh);

$out = do { local (@ARGV,$/)=$filename; <> };

is $out, <<'MABRAW';
99999nM2.01200024      h001 47918-4310 Daß Ümläüt406bj1983
11111nM2.01200024      h406aj1990k2000
MABRAW

($fh, $filename) = tempfile();

$writer = MAB2::Writer::RAW->new( file => $filename, encoding => 'UTF-8' );

t/05-writer.t  view on Meta::CPAN


($fh, $filename) = tempfile();
$writer = MAB2::Writer::Disk->new( fh => $fh );

foreach my $record (@mab_records) {
    $writer->write($record);
}

close($fh);

$out = do { local (@ARGV,$/)=$filename; <> };

is $out, <<'MABDISK1';
### 99999nM2.01200024      h
001 47918-4
310 Daß Ümläüt
406bj1983

### 11111nM2.01200024      h
406aj1990k2000

t/05-writer.t  view on Meta::CPAN


($fh, $filename) = tempfile();
$writer = MAB2::Writer::Disk->new( fh => $fh, subfield_indicator => '$' );

foreach my $record (@mab_records) {
    $writer->write($record);
}

close($fh);

$out = do { local (@ARGV,$/)=$filename; <> };

is $out, <<'MABDISK2';
### 99999nM2.01200024      h
001 47918-4
310 Daß Ümläüt
406b$j1983

### 11111nM2.01200024      h
406a$j1990$k2000

t/lib/MockHTTPClient.pm  view on Meta::CPAN

package MockHTTPClient;

#ABSTRACT: HTTP::Tiny mockup class to return XML data from file based on a query
use Moo;

sub get {
    my ($self, $url) = @_;
    $url =~ /query=([^&]+)/;
    my $xml = do {local (@ARGV, $/) = "t/$1"; <>};
    {success => 1, status => 200, reason => 'OK', content => $xml,};
}

1;



( run in 1.029 second using v1.01-cache-2.11-cpan-49f99fa48dc )