use strict; use warnings; use version; use Catmandu::Importer::OAI; use Test::More; plan(skip_all => 'Catmandu::XML >= 0.15 required') unless eval { require Catmandu::XML; require XML::LibXML; version->parse($Catmandu::XML::VERSION) >= version->parse("0.15") }; my $dom = XML::LibXML->load_xml( location => 't/epicur.xml' ); sub oai_xslt { Catmandu::Importer::OAI->new( url => 'http://example.org/', xslt => 't/transform.xsl', @_ )->handle_record($dom) } is_deeply oai_xslt( handler => 'raw' ), { _metadata => "\nurn:nbn:de:bsz:16-ip-164907\n" }; is_deeply oai_xslt( handler => 'struct' ), { '_metadata' => [ 'urn_new', { url => 'https://journals.ub.uni-heidelberg.de/index.php/ip/article/view/16490/12358' }, [ 'urn:nbn:de:bsz:16-ip-164907' ] ] }; is_deeply oai_xslt(), { urn_new => [ 'urn:nbn:de:bsz:16-ip-164907' ] }; done_testing;