File: n3_version.t

package info (click to toggle)
libmodule-info-perl 0.39-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 296 kB
  • sloc: perl: 2,202; makefile: 8
file content (61 lines) | stat: -rw-r--r-- 1,465 bytes parent folder | download
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/perl -w

use strict;
use lib './t/lib';
use Test::More tests => 15;
use lib '.';
use Module::Info;

my $has_version_pm = eval 'use version; 1';

my $moo = Module::Info->new_from_module( 'Moo' );
my $boo = Module::Info->new_from_module( 'Boo' );
my $roo = Module::Info->new_from_module( 'Roo' );
my $moo_ver;
my $foo_ver;
my $roo_ver;

if( $has_version_pm ) {
    $moo_ver = Module::Info->new_from_module( 'Moo' );
    $foo_ver = Module::Info->new_from_module( 'Foo' );
    $moo_ver->use_version( 1 );
    $foo_ver->use_version( 1 );
}

is( $moo->use_version, 0 );
is( $moo->version, '0.12' );
is( $boo->version, '1.35', 'proper quoting in complex expression' );
is( $roo->version, '1.25', 'package NAME VERSION' );

SKIP: {
    skip 'version.pm not found', 5 unless $has_version_pm;

    is( $moo_ver->use_version, 1 );
    isa_ok( $moo_ver->version, 'version' );
    is( $moo_ver->version, '0.120' );

    isa_ok( $foo_ver->version, 'version' );
    is( $foo_ver->version, '7.254' );
}

SKIP: {
    skip 'version.pm found, can not test', 6 if $has_version_pm;

    my $dummy = Module::Info->new_from_module( 'Moo' );

    is( $dummy->use_version, 0 );
    # should succeed
    eval {
        $dummy->use_version( 0 );
    };
    ok( !$@ );
    is( $dummy->use_version, 0 );

    # should fail
    eval {
        $dummy->use_version( 1 );
    };
    ok( $@ );
    ok( $@ =~ /^Can not use 'version.pm' as requested/ );
    is( $dummy->use_version, 0 );
}