File: gen-class-doc.t

package info (click to toggle)
libconfig-model-perl 2.155-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,172 kB
  • sloc: perl: 15,117; makefile: 19
file content (60 lines) | stat: -rw-r--r-- 1,342 bytes parent folder | download | duplicates (4)
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
use ExtUtils::testlib;
use Test::More;
use Test::Memory::Cycle;
use Config::Model;
use Config::Model::Tester::Setup qw/init_test/;
use Pod::Simple;

use warnings;
use 5.10.1;

use strict;
use lib "t/lib";

my ($model, $trace) = init_test();

$model->load( 'Master', 'Config/Model/models/Master.pl' );
ok( 1, "big_model loaded" );

$model->augment_config_class(
    name => "Master",
    element => [
        'big_string' => {
            type => 'leaf',
            value_type => 'string',
            default => "A very\nlong\n\n\ndefault\nvalue\n"
        }
    ]
);

my $res = $model->get_model_doc('Master');
is_deeply(
    [ sort keys %$res ],
    [ map { "Config::Model::models::$_" } qw/Master SlaveY SlaveZ SubSlave SubSlave2/ ],
    "check doc classes"
);
like(
    $res->{'Config::Model::models::Master'},
    qr/Configuration class Master/,
    "check that doc is generated"
);

foreach my $class (sort keys %$res) {
    my $pod = $res->{$class};

    my $parser = Pod::Simple->new();
    $parser->no_errata_section( 1 );
    $parser->complain_stderr(1);

    $parser->parse_string_document($pod);
    my $res = $parser->any_errata_seen();

    say "Bad pod:\n++++++++++++\n$pod\n+++++++++++++" if $res;

    is($res, 0, "check generated pod error for class $class");
}


memory_cycle_ok($model, "memory cycles");

done_testing();