Youri-Package

 view release on metacpan or  search on metacpan

lib/Youri/Package/RPM/Test.pm  view on Meta::CPAN

# $Id$
package Youri::Package::RPM::Test;

=head1 NAME

Youri::Package::RPM::Test - Fake rpm package implementation

=head1 DESCRIPTION

This is a fake L<Youri::Package> implementation for rpm, intended for testing
purposes.

=cut

use strict;
use warnings;
use base 'Youri::Package::RPM';
use feature qw(switch);
use overload
    '""'     => 'as_string',
    '0+'     => '_to_number',
    fallback => 1;

use Carp;
use File::Basename;
use URPM;

our $AUTOLOAD;

my @tags = qw/
    name
    version
    release
    filename
    arch
    url
    summary
    description
    packager
    buildtime
    sourcerpm
    gpg_key
/;

my %tags = map { $_ => 1 } @tags;

sub check_ranges_compatibility {
    my ($class, $range1, $range2) = @_;

    return URPM::ranges_overlap($range1, $range2);
}

=head1 CLASS METHODS

=head2 new(%args)

Creates and returns a new Youri::Package::RPM::Test object.

Specific parameters:

=over

=item file $file

Path of file to use for creating this package.

=item tags $tags

Hahref of tag values

=item requires $requires

Arraryef of package relationships.

=item provides $provides

Arraryef of package relationships.

=item obsoletes $obsoletes

Arraryef of package relationships.

=item conflicts $conflicts

Arraryef of package relationships.

=item files $files

Arraryef of package files.

=item changes $changes

Arraryef of package changes.

=back

=cut

sub _init {
    my ($self, %options) = @_;

    if (exists $options{tags}) {



( run in 1.519 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )