r9713 - in /branches/upstream/libdublincore-record-perl: ./ current/ current/lib/ current/lib/DublinCore/ current/t/
vdanjean at users.alioth.debian.org
vdanjean at users.alioth.debian.org
Sat Nov 24 16:49:49 UTC 2007
Author: vdanjean
Date: Sat Nov 24 16:49:48 2007
New Revision: 9713
URL: http://svn.debian.org/wsvn/?sc=1&rev=9713
Log:
[svn-inject] Installing original source of libdublincore-record-perl
Added:
branches/upstream/libdublincore-record-perl/
branches/upstream/libdublincore-record-perl/current/
branches/upstream/libdublincore-record-perl/current/Build.PL
branches/upstream/libdublincore-record-perl/current/Changes
branches/upstream/libdublincore-record-perl/current/MANIFEST
branches/upstream/libdublincore-record-perl/current/META.yml
branches/upstream/libdublincore-record-perl/current/Makefile.PL
branches/upstream/libdublincore-record-perl/current/README
branches/upstream/libdublincore-record-perl/current/lib/
branches/upstream/libdublincore-record-perl/current/lib/DublinCore/
branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Element.pm
branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Record.pm
branches/upstream/libdublincore-record-perl/current/t/
branches/upstream/libdublincore-record-perl/current/t/01-use.t
branches/upstream/libdublincore-record-perl/current/t/10-empty.t
branches/upstream/libdublincore-record-perl/current/t/11-constructor.t
branches/upstream/libdublincore-record-perl/current/t/12-setters.t
branches/upstream/libdublincore-record-perl/current/t/98-pod_coverage.t
branches/upstream/libdublincore-record-perl/current/t/99-pod.t
Added: branches/upstream/libdublincore-record-perl/current/Build.PL
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/Build.PL?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/Build.PL (added)
+++ branches/upstream/libdublincore-record-perl/current/Build.PL Sat Nov 24 16:49:48 2007
@@ -1,0 +1,18 @@
+use strict;
+
+use Module::Build;
+
+my $build = Module::Build->new(
+ module_name => 'DublinCore::Record',
+ dist_author => 'Brian Cassidy <bricas at cpan.org>',
+ license => 'perl',
+ create_readme => 1,
+ create_makefile_pl => 'traditional',
+ requires => {
+ 'Class::Accessor' => 0
+ },
+ build_requires => {
+ 'Test::More' => 0
+ },
+);
+$build->create_build_script;
Added: branches/upstream/libdublincore-record-perl/current/Changes
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/Changes?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/Changes (added)
+++ branches/upstream/libdublincore-record-perl/current/Changes Sat Nov 24 16:49:48 2007
@@ -1,0 +1,13 @@
+Revision history for Perl extension DublinCore::Record
+
+0.03 Mon Feb 26 2007
+ - repackaged -- no functional changes
+
+0.02 Tue Mar 08 2005
+ - pod fixes
+ - added pod_coverage test
+ - increased coverage
+
+0.01 Fri Nov 12 11:06:45 2004
+ - original version
+
Added: branches/upstream/libdublincore-record-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/MANIFEST?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/MANIFEST (added)
+++ branches/upstream/libdublincore-record-perl/current/MANIFEST Sat Nov 24 16:49:48 2007
@@ -1,0 +1,14 @@
+Build.PL
+Changes
+lib/DublinCore/Element.pm
+lib/DublinCore/Record.pm
+Makefile.PL
+MANIFEST This list of files
+META.yml
+README
+t/01-use.t
+t/10-empty.t
+t/11-constructor.t
+t/12-setters.t
+t/98-pod_coverage.t
+t/99-pod.t
Added: branches/upstream/libdublincore-record-perl/current/META.yml
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/META.yml?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/META.yml (added)
+++ branches/upstream/libdublincore-record-perl/current/META.yml Sat Nov 24 16:49:48 2007
@@ -1,0 +1,24 @@
+---
+name: DublinCore-Record
+version: 0.03
+author:
+ - 'Brian Cassidy <bricas at cpan.org>'
+abstract: Container for Dublin Core metadata elements
+license: perl
+resources:
+ license: http://dev.perl.org/licenses/
+requires:
+ Class::Accessor: 0
+build_requires:
+ Test::More: 0
+provides:
+ DublinCore::Element:
+ file: lib/DublinCore/Element.pm
+ version: 0.03
+ DublinCore::Record:
+ file: lib/DublinCore/Record.pm
+ version: 0.03
+generated_by: Module::Build version 0.2806
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.2.html
+ version: 1.2
Added: branches/upstream/libdublincore-record-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/Makefile.PL?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/Makefile.PL (added)
+++ branches/upstream/libdublincore-record-perl/current/Makefile.PL Sat Nov 24 16:49:48 2007
@@ -1,0 +1,15 @@
+# Note: this file was auto-generated by Module::Build::Compat version 0.03
+use ExtUtils::MakeMaker;
+WriteMakefile
+(
+ 'PL_FILES' => {},
+ 'INSTALLDIRS' => 'site',
+ 'NAME' => 'DublinCore::Record',
+ 'EXE_FILES' => [],
+ 'VERSION_FROM' => 'lib/DublinCore/Record.pm',
+ 'PREREQ_PM' => {
+ 'Test::More' => 0,
+ 'Class::Accessor' => 0
+ }
+ )
+;
Added: branches/upstream/libdublincore-record-perl/current/README
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/README?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/README (added)
+++ branches/upstream/libdublincore-record-perl/current/README Sat Nov 24 16:49:48 2007
@@ -1,0 +1,155 @@
+NAME
+ DublinCore::Record - Container for Dublin Core metadata elements
+
+SYNOPSIS
+ use DublinCore::Record;
+
+ my $record = DublinCore::Record->new();
+
+ # later ...
+
+ # print the title
+ print $record->element( 'title' )->content;
+
+ ## list context will retrieve all of a particular element
+ foreach my $element ( $record->element( 'Creator' ) ) {
+ print "creator: ", $element->content(), "\n";
+ }
+
+ ## qualified dublin core
+ my $creation = $record->element( 'Date.created' )->content();
+
+DESCRIPTION
+ DublinCore::Record is an abstract class for manipulating DublinCore
+ metadata. The Dublin Core is a small set of metadata elements for
+ describing information resources. For more information on embedding
+ DublinCore in HTML see RFC 2731 <http://www.ietf.org/rfc/rfc2731> or
+ <http://www.dublincore.org/documents/dces/>
+
+METHODS
+ new()
+ The constructor. Takes no arguments.
+
+ $record = DublinCore::Record->new();
+
+ add( @elements )
+ Adds valid DublinCore::Element objects to the record.
+
+ remove( @elements )
+ Removes valid DublinCore::Element object from the record.
+
+ element()
+ This method will return a relevant DublinCore::Element object. When
+ called in a scalar context element() will return the first relevant
+ element found, and when called in a list context it will return all the
+ relevant elements (since Dublin Core elements are repeatable).
+
+ ## retrieve first title element
+ my $element = $record->element( 'Title' );
+ my $title = $element->content();
+
+ ## shorthand object chaining to extract element content
+ my $title = $record->element( 'Title' )->content();
+
+ ## retrieve all creator elements
+ @creators = $record->element( 'Creator' );
+
+ You can also retrieve qualified elements in a similar fashion.
+
+ my $date = $record->element( 'Date.created' )->content();
+
+ In order to fascilitate chaining element() will return an empty
+ DublinCore::Element object when the requested element does not exist.
+ You can check if you're getting an empty empty back by using the
+ is_empty() method.
+
+ if( $record->element( 'title' )->is_empty ) {
+ # no title
+ }
+
+ elements()
+ Returns all the Dublin Core elements found as DublinCore::Element
+ objects which you can then manipulate further.
+
+ foreach my $element ( $record->elements() ) {
+ print "name=", $element->name(), "\n";
+ print "content=", $element->content(), "\n";
+ }
+
+ title()
+ Returns a DublinCore::Element object for the title element. You can then
+ retrieve content, qualifier, scheme, lang attributes like so.
+
+ my $title = $record->title();
+ print "content: ", $title->content(), "\n";
+ print "qualifier: ", $title->qualifier(), "\n";
+ print "scheme: ", $title->scheme(), "\n";
+ print "language: ", $title->language(), "\n";
+
+ Since there can be multiple instances of a particular element type
+ (title, creator, subject, etc) you can retrieve multiple title elements
+ by calling title() in a list context.
+
+ my @titles = $record->title();
+ foreach my $title ( @titles ) {
+ print "title: ", $title->content(), "\n";
+ }
+
+ creator()
+ Retrieve creator information in the same manner as title().
+
+ subject()
+ Retrieve subject information in the same manner as title().
+
+ description()
+ Retrieve description information in the same manner as title().
+
+ publisher()
+ Retrieve publisher information in the same manner as title().
+
+ contributor()
+ Retrieve contributor information in the same manner as title().
+
+ date()
+ Retrieve date information in the same manner as title().
+
+ type()
+ Retrieve type information in the same manner as title().
+
+ format()
+ Retrieve format information in the same manner as title().
+
+ identifier()
+ Retrieve identifier information in the same manner as title().
+
+ source()
+ Retrieve source information in the same manner as title().
+
+ language()
+ Retrieve language information in the same manner as title().
+
+ relation()
+ Retrieve relation information in the same manner as title().
+
+ coverage()
+ Retrieve coverage information in the same manner as title().
+
+ rights()
+ Retrieve rights information in the same manner as title().
+
+SEE ALSO
+ * DublinCore::Element
+ * Dublin Core <http://www.dublincore.org/>
+ * RFC 2731 <http://www.ietf.org/rfc/rfc2731>
+ * perl4lib <http://www.rice.edu/perl4lib>
+
+AUTHOR
+ * Ed Summers <ehs at pobox.com>
+ * Brian Cassidy <bricas at cpan.org>
+
+COPYRIGHT AND LICENSE
+ Copyright 2007 by Ed Summers, Brian Cassidy
+
+ This library is free software; you can redistribute it and/or modify it
+ under the same terms as Perl itself.
+
Added: branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Element.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Element.pm?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Element.pm (added)
+++ branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Element.pm Sat Nov 24 16:49:48 2007
@@ -1,0 +1,132 @@
+package DublinCore::Element;
+
+=head1 NAME
+
+DublinCore::Element - Class for representing a Dublin Core element
+
+=head1 SYNOPSIS
+
+ my $element = DublinCore::Element->new( \%info );
+ print "content: ", $element->content(), "\n";
+ print "qualifier: ", $element->qualifier(), "\n";
+ print "language: ", $element->language(), "\n";
+ print "scheme: ", $element->scheme(), "\n";
+
+=head1 DESCRIPTION
+
+DublinCore::Record methods such as element(), elements(), title(), etc return
+DublinCore::Element objects as their result. These can be queried
+further to extract an elements content, qualifier, language, and schema. For a
+definition of these attributes please see RFC 2731 and
+L<http://www.dublincore.org>.
+
+=cut
+
+use base qw( Class::Accessor );
+
+use strict;
+use warnings;
+
+our $VERSION = '0.03';
+
+__PACKAGE__->mk_accessors( qw( name qualifier content language scheme is_empty ) );
+
+=head1 METHODS
+
+=head2 new()
+
+The constructor. Take a hashref of input arguments.
+
+=cut
+
+sub new {
+ my $class = shift;
+ my $self = $class->SUPER::new( @_ );
+
+ bless $self, $class;
+
+ $self->is_empty( 1 );
+
+ return $self;
+}
+
+=head2 content()
+
+Gets and sets the content of the element.
+
+ ## extract the element
+ my $title = $record->element( 'title' );
+ print $title->content();
+
+ ## or you can chain them together
+ print $record->element( 'title' )->content();
+
+=head2 qualifier()
+
+Gets and sets the qualifier used by the element.
+
+=head2 language()
+
+Gets and sets the language of the content in element.
+
+=head2 scheme()
+
+Gets and sets the scheme used by the element.
+
+=head2 name()
+
+Gets and sets the element name (title, creator, date, etc).
+
+=head2 is_empty()
+
+Gets and sets the "empty" status of an element. This is useful when
+using DublinCore::Record's element() method.
+
+To see if the record has an creator elements:
+
+ if( $record->element( 'creator' )->is_empty ) {
+ # no creators
+ }
+
+
+=head2 set()
+
+This function overrides the default set() behavior in order to remove the
+is_empty flag.
+
+=cut
+
+sub set {
+ my $self = shift;
+ $self->SUPER::set( 'is_empty' => 0 ) if $self->is_empty;
+ $self->SUPER::set( @_ );
+}
+
+=head1 SEE ALSO
+
+=over 4
+
+=item * DublinCore::Record
+
+=back
+
+=head1 AUTHOR
+
+=over 4
+
+=item * Ed Summers E<lt>ehs at pobox.comE<gt>
+
+=item * Brian Cassidy E<lt>bricas at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2007 by Ed Summers, Brian Cassidy
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
Added: branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Record.pm
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Record.pm?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Record.pm (added)
+++ branches/upstream/libdublincore-record-perl/current/lib/DublinCore/Record.pm Sat Nov 24 16:49:48 2007
@@ -1,0 +1,426 @@
+package DublinCore::Record;
+
+=head1 NAME
+
+DublinCore::Record - Container for Dublin Core metadata elements
+
+=head1 SYNOPSIS
+
+ use DublinCore::Record;
+
+ my $record = DublinCore::Record->new();
+
+ # later ...
+
+ # print the title
+ print $record->element( 'title' )->content;
+
+ ## list context will retrieve all of a particular element
+ foreach my $element ( $record->element( 'Creator' ) ) {
+ print "creator: ", $element->content(), "\n";
+ }
+
+ ## qualified dublin core
+ my $creation = $record->element( 'Date.created' )->content();
+
+=head1 DESCRIPTION
+
+DublinCore::Record is an abstract class for manipulating DublinCore metadata.
+The Dublin Core is a small set of metadata elements for describing information
+resources. For more information on embedding DublinCore in HTML see RFC 2731
+L<http://www.ietf.org/rfc/rfc2731> or L<http://www.dublincore.org/documents/dces/>
+
+=cut
+
+use strict;
+use warnings;
+
+use Carp qw( croak );
+use DublinCore::Element;
+
+our $VERSION = '0.03';
+our @VALID_ELEMENTS = qw(
+ title
+ creator
+ subject
+ description
+ publisher
+ contributor
+ date
+ type
+ format
+ identifier
+ source
+ language
+ relation
+ coverage
+ rights
+);
+
+=head1 METHODS
+
+=head2 new()
+
+The constructor. Takes no arguments.
+
+ $record = DublinCore::Record->new();
+
+=cut
+
+sub new {
+ my $class = shift;
+ my $self = {};
+
+ $self->{ "DC_$_" } = [] for @VALID_ELEMENTS;
+
+ bless $self, $class;
+
+ $self->add( @_ );
+
+ return $self;
+}
+
+=head2 add( @elements )
+
+Adds valid DublinCore::Element objects to the record.
+
+=cut
+
+sub add {
+ my $self = shift;
+
+ for my $element ( @_ ) {
+ push @{ $self->{ 'DC_' . lc( $element->name ) } }, $element;
+ }
+}
+
+=head2 remove( @elements )
+
+Removes valid DublinCore::Element object from the record.
+
+=cut
+
+sub remove {
+ my $self = shift;
+
+ for my $element ( @_ ) {
+ my $name = 'DC_' . lc( $element->name );
+ $self->{ $name } = [
+ grep { $element ne $_ } @{ $self->{ $name } }
+ ];
+ }
+}
+
+=head2 element()
+
+This method will return a relevant DublinCore::Element object. When
+called in a scalar context element() will return the first relevant element
+found, and when called in a list context it will return all the relevant
+elements (since Dublin Core elements are repeatable).
+
+ ## retrieve first title element
+ my $element = $record->element( 'Title' );
+ my $title = $element->content();
+
+ ## shorthand object chaining to extract element content
+ my $title = $record->element( 'Title' )->content();
+
+ ## retrieve all creator elements
+ @creators = $record->element( 'Creator' );
+
+You can also retrieve qualified elements in a similar fashion.
+
+ my $date = $record->element( 'Date.created' )->content();
+
+In order to fascilitate chaining element() will return an empty
+DublinCore::Element object when the requested element does not
+exist. You can check if you're getting an empty empty back by using
+the is_empty() method.
+
+ if( $record->element( 'title' )->is_empty ) {
+ # no title
+ }
+
+=cut
+
+sub element {
+ my ( $self, $name ) = @_;
+ $name = lc( $name );
+
+ ## must be a valid DC element (with additional qualifier)
+ croak( "invalid Dublin Core element: $name" )
+ if ! grep { $name =~ /^$_/ } @VALID_ELEMENTS;
+
+ ## extract qualifier if present
+ my $qualifier;
+ ( $name, $qualifier ) = split /\./, $name;
+
+ my @elements = ();
+ foreach my $element ( @{ $self->{ "DC_$name" } } ) {
+ if ( $qualifier and $element->qualifier() =~ /$qualifier/i ) {
+ push( @elements, $element );
+ } elsif ( !$qualifier ) {
+ push( @elements, $element );
+ }
+ }
+
+ if ( wantarray ) { return @elements };
+ return( $elements[ 0 ] ) if $elements[ 0 ];
+
+ ## otherwise return an empty element object to fascilitate
+ ## chaining when the element doesn't exist :
+ ## $dc->element( 'Title' )->content().
+
+ return( DublinCore::Element->new() );
+}
+
+=head2 elements()
+
+Returns all the Dublin Core elements found as DublinCore::Element
+objects which you can then manipulate further.
+
+ foreach my $element ( $record->elements() ) {
+ print "name=", $element->name(), "\n";
+ print "content=", $element->content(), "\n";
+ }
+
+=cut
+
+sub elements {
+ my $self = shift;
+ my @elements = ();
+ foreach my $type ( @VALID_ELEMENTS ) {
+ push( @elements, @{ $self->{ "DC_$type" } } );
+ }
+ return( @elements );
+}
+
+=head2 title()
+
+Returns a DublinCore::Element object for the title element. You can then
+retrieve content, qualifier, scheme, lang attributes like so.
+
+ my $title = $record->title();
+ print "content: ", $title->content(), "\n";
+ print "qualifier: ", $title->qualifier(), "\n";
+ print "scheme: ", $title->scheme(), "\n";
+ print "language: ", $title->language(), "\n";
+
+Since there can be multiple instances of a particular element type (title,
+creator, subject, etc) you can retrieve multiple title elements by calling
+title() in a list context.
+
+ my @titles = $record->title();
+ foreach my $title ( @titles ) {
+ print "title: ", $title->content(), "\n";
+ }
+
+=cut
+
+sub title {
+ my $self = shift;
+ return( $self->_getElement( 'title', wantarray ) );
+}
+
+=head2 creator()
+
+Retrieve creator information in the same manner as title().
+
+=cut
+
+sub creator {
+ my $self = shift;
+ return( $self->_getElement( 'creator', wantarray ) );
+}
+
+=head2 subject()
+
+Retrieve subject information in the same manner as title().
+
+=cut
+
+sub subject {
+ my $self = shift;
+ return( $self->_getElement( 'subject', wantarray ) );
+}
+
+=head2 description()
+
+Retrieve description information in the same manner as title().
+
+=cut
+
+sub description {
+ my $self = shift;
+ return( $self->_getElement( 'description', wantarray ) );
+}
+
+=head2 publisher()
+
+Retrieve publisher information in the same manner as title().
+
+=cut
+
+sub publisher {
+ my $self = shift;
+ return( $self->_getElement( 'publisher', wantarray ) );
+}
+
+=head2 contributor()
+
+Retrieve contributor information in the same manner as title().
+
+=cut
+
+sub contributor {
+ my $self = shift;
+ return( $self->_getElement( 'contributor', wantarray ) );
+}
+
+=head2 date()
+
+Retrieve date information in the same manner as title().
+
+=cut
+
+sub date {
+ my $self = shift;
+ return( $self->_getElement( 'date', wantarray ) );
+}
+
+=head2 type()
+
+Retrieve type information in the same manner as title().
+
+=cut
+
+sub type {
+ my $self = shift;
+ return( $self->_getElement( 'type', wantarray ) );
+}
+
+=head2 format()
+
+Retrieve format information in the same manner as title().
+
+=cut
+
+sub format {
+ my $self = shift;
+ return( $self->_getElement( 'format', wantarray ) );
+}
+
+=head2 identifier()
+
+Retrieve identifier information in the same manner as title().
+
+=cut
+
+sub identifier {
+ my $self = shift;
+ return( $self->_getElement( 'identifier', wantarray ) );
+}
+
+=head2 source()
+
+Retrieve source information in the same manner as title().
+
+=cut
+
+sub source {
+ my $self = shift;
+ return( $self->_getElement( 'source', wantarray ) );
+}
+
+=head2 language()
+
+Retrieve language information in the same manner as title().
+
+=cut
+
+sub language {
+ my $self = shift;
+ return( $self->_getElement( 'language', wantarray ) );
+}
+
+=head2 relation()
+
+Retrieve relation information in the same manner as title().
+
+=cut
+
+sub relation {
+ my $self = shift;
+ return( $self->_getElement( 'relation', wantarray ) );
+}
+
+=head2 coverage()
+
+Retrieve coverage information in the same manner as title().
+
+=cut
+
+sub coverage {
+ my $self = shift;
+ return( $self->_getElement( 'coverage', wantarray ) );
+}
+
+=head2 rights()
+
+Retrieve rights information in the same manner as title().
+
+=cut
+
+sub rights {
+ my $self = shift;
+ return( $self->_getElement( 'rights', wantarray ) );
+}
+
+sub _getElement {
+ my ( $self, $element, $wantarray ) = @_;
+ my $contents = $self->{ "DC_$element" };
+
+ if ( $wantarray ) {
+ return( @$contents );
+ }
+ elsif ( scalar( @$contents ) > 0 ) {
+ return( $contents->[ 0 ] );
+ }
+
+ return DublinCore::Element->new();
+}
+
+=head1 SEE ALSO
+
+=over 4
+
+=item * DublinCore::Element
+
+=item * Dublin Core L<http://www.dublincore.org/>
+
+=item * RFC 2731 L<http://www.ietf.org/rfc/rfc2731>
+
+=item * perl4lib L<http://www.rice.edu/perl4lib>
+
+=back
+
+=head1 AUTHOR
+
+=over 4
+
+=item * Ed Summers E<lt>ehs at pobox.comE<gt>
+
+=item * Brian Cassidy E<lt>bricas at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2007 by Ed Summers, Brian Cassidy
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
Added: branches/upstream/libdublincore-record-perl/current/t/01-use.t
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/t/01-use.t?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/t/01-use.t (added)
+++ branches/upstream/libdublincore-record-perl/current/t/01-use.t Sat Nov 24 16:49:48 2007
@@ -1,0 +1,12 @@
+use Test::More tests => 4;
+use strict;
+use warnings;
+
+use_ok( 'DublinCore::Record' );
+use_ok( 'DublinCore::Element' );
+
+my $record = DublinCore::Record->new;
+isa_ok( $record, 'DublinCore::Record' );
+
+my $element = DublinCore::Element->new;
+isa_ok( $element, 'DublinCore::Element' );
Added: branches/upstream/libdublincore-record-perl/current/t/10-empty.t
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/t/10-empty.t?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/t/10-empty.t (added)
+++ branches/upstream/libdublincore-record-perl/current/t/10-empty.t Sat Nov 24 16:49:48 2007
@@ -1,0 +1,14 @@
+use strict;
+use warnings;
+use Test::More tests => 5;
+
+## make sure that elements appear empty
+
+use_ok( 'DublinCore::Record' );
+use_ok( 'DublinCore::Element' );
+
+my $record = DublinCore::Record->new();
+isa_ok( $record, 'DublinCore::Record' );
+my $element = $record->element( 'title' );
+isa_ok( $element, 'DublinCore::Element' );
+ok( $element->is_empty(), 'is_empty()' );
Added: branches/upstream/libdublincore-record-perl/current/t/11-constructor.t
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/t/11-constructor.t?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/t/11-constructor.t (added)
+++ branches/upstream/libdublincore-record-perl/current/t/11-constructor.t Sat Nov 24 16:49:48 2007
@@ -1,0 +1,69 @@
+use strict;
+use warnings;
+use Test::More tests => 64;
+
+## use the Element constructor to create an element
+## for each type of element, and make sure that they're
+## available in the record afterwards
+
+use_ok( 'DublinCore::Record' );
+use_ok( 'DublinCore::Element' );
+
+my $record = DublinCore::Record->new();
+
+foreach my $element ( @DublinCore::Record::VALID_ELEMENTS ) {
+ my $e = DublinCore::Element->new( {
+ name => $element,
+ qualifier => "$element-qualifier",
+ content => "$element-content",
+ language => "$element-language",
+ scheme => "$element-scheme"
+ } );
+ $record->add($e);
+}
+
+foreach my $element ( @DublinCore::Record::VALID_ELEMENTS ) {
+ my $e = $record->$element();
+ foreach my $attrib ( qw( qualifier content language scheme ) ) {
+ is( $e->$attrib(), "$element-$attrib", "$element : $attrib" );
+ }
+}
+
+# make sure we get the same results with elements()
+
+my @expected_elements = map +{
+ name => $_,
+ qualifier => "$_-qualifier",
+ content => "$_-content",
+ language => "$_-language",
+ scheme => "$_-scheme"
+}, sort @DublinCore::Record::VALID_ELEMENTS;
+
+my @got_elements = map +{
+ name => $_->name,
+ qualifier => $_->qualifier,
+ content => $_->content,
+ language => $_->language,
+ scheme => $_->scheme
+}, sort { $a->name cmp $b->name } $record->elements;
+
+is_deeply( \@got_elements, \@expected_elements, 'elements()' );
+
+# test removing
+
+my $removed = $expected_elements[ 0 ];
+ at expected_elements = @expected_elements[ 1..$#expected_elements ];
+my $name = $removed->{ name };
+my $remove = $record->$name;
+
+$record->remove( $remove );
+
+ at got_elements = map +{
+ name => $_->name,
+ qualifier => $_->qualifier,
+ content => $_->content,
+ language => $_->language,
+ scheme => $_->scheme
+}, sort { $a->name cmp $b->name } $record->elements;
+
+is_deeply( \@got_elements, \@expected_elements, 'remove()' );
Added: branches/upstream/libdublincore-record-perl/current/t/12-setters.t
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/t/12-setters.t?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/t/12-setters.t (added)
+++ branches/upstream/libdublincore-record-perl/current/t/12-setters.t Sat Nov 24 16:49:48 2007
@@ -1,0 +1,27 @@
+use strict;
+use warnings;
+use Test::More tests => 62;
+
+## test the setter methods explicitly
+
+use_ok( 'DublinCore::Record' );
+use_ok( 'DublinCore::Element' );
+
+my $record = DublinCore::Record->new();
+
+foreach my $element ( @DublinCore::Record::VALID_ELEMENTS ) {
+ my $e = DublinCore::Element->new();
+ $e->name( $element );
+ foreach my $attrib ( qw( qualifier content language scheme ) ) {
+ $e->$attrib( "$element-$attrib" );
+ }
+ $record->add($e);
+}
+
+foreach my $element ( @DublinCore::Record::VALID_ELEMENTS ) {
+ my $e = $record->$element();
+ foreach my $attrib ( qw( qualifier content language scheme ) ) {
+ is( $e->$attrib(), "$element-$attrib", "$element : $attrib" );
+ }
+}
+
Added: branches/upstream/libdublincore-record-perl/current/t/98-pod_coverage.t
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/t/98-pod_coverage.t?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/t/98-pod_coverage.t (added)
+++ branches/upstream/libdublincore-record-perl/current/t/98-pod_coverage.t Sat Nov 24 16:49:48 2007
@@ -1,0 +1,4 @@
+use Test::More;
+eval "use Test::Pod::Coverage 1.00";
+plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage" if $@;
+all_pod_coverage_ok();
Added: branches/upstream/libdublincore-record-perl/current/t/99-pod.t
URL: http://svn.debian.org/wsvn/branches/upstream/libdublincore-record-perl/current/t/99-pod.t?rev=9713&op=file
==============================================================================
--- branches/upstream/libdublincore-record-perl/current/t/99-pod.t (added)
+++ branches/upstream/libdublincore-record-perl/current/t/99-pod.t Sat Nov 24 16:49:48 2007
@@ -1,0 +1,8 @@
+use Test::More;
+
+use strict;
+use warnings;
+
+eval 'use Test::Pod 1.00';
+plan skip_all => 'Test::Pod 1.00 required for testing POD' if $@;
+all_pod_files_ok();
More information about the Pkg-perl-cvs-commits
mailing list