File Coverage

t/PerlySense-Document-base-class.t
Criterion Covered Total %
statement 43 43 100.0
branch 1 2 50.0
condition n/a
subroutine 10 10 100.0
pod n/a
total 54 55 98.1


line stmt bran cond sub pod time code
1             #!/usr/bin/perl -w
2 1     1   211342 use strict;
  1         2  
  1         86  
3              
4 1     1   516 use Test::More tests => 16;
  1         14646  
  1         7  
5 1     1   634 use Test::Exception;
  1         2552  
  1         3  
6              
7 1     1   613 use Data::Dumper;
  1         5373  
  1         53  
8 1     1   5 use File::Basename;
  1         1  
  1         77  
9 1     1   306 use File::Spec::Functions;
  1         472  
  1         58  
10              
11 1     1   261 use lib "../lib";
  1         529  
  1         3  
12              
13 1     1   104335 use_ok("Devel::PerlySense::Document");
  1         371  
  1         2  
  1         2  
  1         10  
14              
15              
16 1 50   1   1476 BEGIN { -d "t" and chdir("t"); }
17              
18              
19 1         893 ok(my $oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok");
20              
21 1         449 my $dirData = "data/simple-lib";
22 1         3 my $fileOrigin = "$dirData/lib/Win32/Word/Writer.pm";
23              
24 1         4 ok($oDocument->parse(file => $fileOrigin), "Parsed file ok");
25              
26              
27 1         321 is($oDocument->aNameBase() + 0, 0, "No base classes ok");
28              
29              
30              
31             sub test_inheritance_mechanism {
32 4     4   10 my ($file, $raBaseExpected, $mechanism) = @_;
33 4         19 note("Checking that inheritance via ($mechanism) works");
34              
35 4         388 ok($oDocument = Devel::PerlySense::Document->new(oPerlySense => Devel::PerlySense->new()), "new ok");
36              
37 4         850 $dirData = "data/project-lib";
38 4         45246 $fileOrigin = "$dirData/$file";
39              
40 4         28 ok($oDocument->parse(file => $fileOrigin), "Parsed file ($fileOrigin) ok");
41              
42 4         1746 is_deeply(
43             [ sort $oDocument->aNameBase() ],
44             $raBaseExpected,
45             "One base class ($mechanism) ok",
46             );
47             }
48              
49 1         193 test_inheritance_mechanism("Game/Object/Worm/Bot.pm", ["Game::Object::Worm"], "use base");
50 1         776 test_inheritance_mechanism("Game/Object/Worm.pm", ["Game::Object"], "use parent");
51 1         446 test_inheritance_mechanism(
52             "Game/Object/Worm/ShaiHulud.pm",
53             ["Game::Lawn", "Game::Object::Worm"],
54             '@ISA = ..., with two base classes',
55             );
56 1         1064 test_inheritance_mechanism(
57             "Game/Object/Worm/Shaitan.pm",
58             ["Game::Lawn", "Game::Object::Worm"],
59             'push @ISA, with two base classes',
60             );
61              
62              
63              
64              
65              
66             __END__