aboutsummaryrefslogtreecommitdiff
path: root/t/01-config.t
blob: 6ae9fceb77144031949aa2176aaccc69f7bacf23 (plain)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/perl 
use strict;
use warnings;
use Path::Class;
use Test::More 'no_plan';
use Test::Exception;
 
my $thisdir=file($0)->parent->absolute;
 
BEGIN { use_ok('WebCoso::Config'); }
 
{
my $conf_file=<<'EOF';
res('src/file1.rest.txt','Id','dst/file.html');
EOF
 
ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"),'eseguita la configurazione');
 
my @resources=WebCoso::Config->get_all_resources();
is(scalar @resources,1,'una risorsa definta');
 
isa_ok($resources[0],'WebCoso::Config::Resource');
is_deeply(
    [$resources[0]->axes()],
    ['filename'],
    'un solo asse');
is_deeply(
    [$resources[0]->axis('filename')],
    ["$thisdir/src/file1.rest.txt"],
    'filename');
is($resources[0]->datastream(filename=>"$thisdir/src/file1.rest.txt"),
   <<'EOF','');
Titolo
======
 
testo
EOF
is_deeply(
    [$resources[0]->properties()],
    [],
    'no properties');
is_deeply(
    [$resources[0]->collections()],
    [],
    'no collections');
}
 
WebCoso::Config->clear();
 
 
{
my $conf_file=<<'EOF';
res('src/file1.rest.txt','src/nonce.rest.txt','Id','dst/file.html');
EOF
 
ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"),'eseguita la configurazione');
 
my @resources=WebCoso::Config->get_all_resources();
is(scalar @resources,1,'una risorsa definta');
 
is_deeply(
    [$resources[0]->axis('filename')],
    ["$thisdir/src/file1.rest.txt""$thisdir/src/nonce.rest.txt"],
    'filenames');
dies_ok {$resources[0]->datastream(filename=>"$thisdir/src/nonce.rest.txt")} 'muore se non trova il file';
 
 
}
 
WebCoso::Config->clear();
 
{
my $conf_file=<<'EOF';
coll('coll1');
EOF
 
ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"),'eseguita la configurazione');
 
is(scalar WebCoso::Config->get_all_resources(),0,'nessuna risorsa');
 
my @collections=WebCoso::Config->get_all_collections();
 
is(scalar @collections,1,'una collezione');
 
 
}