diff options
Diffstat (limited to 't/01-config.t')
-rw-r--r-- | t/01-config.t | 300 |
1 files changed, 0 insertions, 300 deletions
diff --git a/t/01-config.t b/t/01-config.t deleted file mode 100644 index 3e82cd2..0000000 --- a/t/01-config.t +++ /dev/null @@ -1,300 +0,0 @@ -#!/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::Resource'); -is_deeply( - [$resources[0]->get_axes()], - ['filename'], - 'un solo asse'); -is_deeply( - [$resources[0]->get_axis_values('filename')], - ["$thisdir/src/file1.rest.txt"], - 'filename'); -my $content=$resources[0]->get_property_string({filename=>"$thisdir/src/file1.rest.txt"},'datastream'); -is($content, - <<'EOF',''); -Titolo -====== - -testo -EOF -is_deeply( - [$resources[0]->get_collections()], - [], - 'no collections'); - -is(WebCoso::Config->get_pipeline_for($resources[0]), - 'WebCoso::Pipeline::Id', - 'si segna le pipeline'); - -throws_ok { - WebCoso::Config->get_pipeline_for('not-a-resource') - } - 'WebCoso::X::NoSuchResource', - 'muore se gli si chiede una risorsa ignota'; -} - -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_collections(); -isa_ok($collections,'WebCoso::Collections'); -my @collections=$collections->get_all_collections(); -is(scalar @collections,1,'una collezione'); - -is_deeply( - [$collections[0]->get_axes()], - ['language'], - 'multilingua'); -is_deeply( - [$collections[0]->get_axis_values('language')], - [], - 'ma nessuna definita'); -is_deeply( - [$collections->get_axes()], - ['language'], - 'multilingua, insieme'); -is_deeply( - [$collections->get_axis_values('language')], - [], - 'ma nessuna definita, insieme'); -my $props=$collections[0]->get_properties(language=>''); -isa_ok($props,'HASH'); -is_deeply( - $props, - {name=>'coll1'}, - 'solo il nome'); - -is_deeply( - [$collections[0]->get_parents()], - [], - 'no parents'); -is_deeply( - [$collections[0]->get_children()], - [], - 'no children'); -is_deeply( - [$collections[0]->get_resources()], - [], - 'no resources'); -is_deeply( - [$collections->get_root_collections()], - [@collections], - 'una radice'); -is_deeply( - [$collections->get_leaf_collections()], - [@collections], - 'una foglia'); -} - -WebCoso::Config->clear(); - -{ -my $conf_file=<<'EOF'; -my $c1=coll({it=>'coll1',en=>'coll1-en'}); -coll('coll2',[],[$c1]); -EOF - -ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"), - 'eseguita la configurazione'); - -my $collections=WebCoso::Config->get_collections(); -my @collections=$collections->get_all_collections(); -is(scalar @collections,2,'due collezioni'); - -# qui sto assumendo che le collezioni vengano registrate in ordine di -# definizione. Forse non sarà sempre vero - -is_deeply( - [sort $collections[0]->get_axis_values('language')], - ['en', 'it'], - 'due lingue'); -is_deeply( - [sort $collections->get_axis_values('language')], - ['en', 'it'], - 'due lingue'); -is( - $collections[0]->get_properties(language=>'en')->{name}, - 'coll1-en', - 'nome en'); -is( - $collections[0]->get_properties(language=>'it')->{name}, - 'coll1', - 'nome it'); -is( - $collections[1]->get_properties(language=>'it')->{name}, - 'coll2', - 'nome default'); - -is_deeply( - [$collections[0]->get_parents()], - [$collections[1]], - 'c2 padre di c1'); -is_deeply( - [$collections[0]->get_children()], - [], - 'c1 no children'); -is_deeply( - [$collections[1]->get_parents()], - [], - 'c2 no parents'); -is_deeply( - [$collections[1]->get_children()], - [$collections[0]], - 'c1 figlio di c2'); -is_deeply( - [$collections->get_root_collections()], - [$collections[1]], - 'una radice'); -is_deeply( - [$collections->get_leaf_collections()], - [$collections[0]], - 'una foglia'); -} - -WebCoso::Config->clear(); - -{ -my $conf_file=<<'EOF'; -$c1=coll({it=>'coll1',en=>'coll1-en'}); -$c2=coll('coll2',[],[$c1]); -$c1->add_child($c2); -EOF - -ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"), - 'eseguita la configurazione (no strict)'); - -my $collections=WebCoso::Config->get_collections(); -my @collections=$collections->get_all_collections(); -is(scalar @collections,2,'due collezioni'); - -is_deeply( - [$collections[1]->get_children()], - [$collections[0]], - 'c1 figlio di c2'); -is_deeply( - [$collections[0]->get_parents()], - [$collections[1]], - 'c2 padre di c1'); - is_deeply( - [$collections[0]->get_children()], - [$collections[1]], - 'c2 figlio di c1'); -is_deeply( - [$collections[1]->get_parents()], - [$collections[0]], - 'c1 padre di c2'); -is_deeply( - [$collections->get_root_collections()], - [], - 'nessuna radice'); -is_deeply( - [$collections->get_leaf_collections()], - [], - 'nessuna foglia'); -} - -WebCoso::Config->clear(); - -{ -my $conf_file=<<'EOF'; -$r1=res('src/file1.rest.txt','Id','dst/file.html'); -$c1=coll('coll1'); -$c1->add_res($r1); -EOF - -ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"), - 'eseguita la configurazione (no strict)'); - -my @resources=WebCoso::Config->get_all_resources(); -my $collections=WebCoso::Config->get_collections(); -my @collections=$collections->get_all_collections(); - -is(scalar @resources,1,'una risorsa'); -is(scalar @collections,1,'una collezione'); -is_deeply( - [$resources[0]->get_collections()], - [$collections[0]], - 'aggancio r->c'); -is_deeply( - [$collections[0]->get_resources()], - [$resources[0]], - 'aggancio c->r'); -} - -WebCoso::Config->clear(); - -{ -my $conf_file=<<'EOF'; -$r1=res('src/file1.rest.txt','Id','dst/file.html'); -$c1=coll('coll1'); -$c2=coll('coll2'); -$c1->add_res($r1); -$r1->add_coll($c1); -$c2->add_res($r1); -EOF - -ok(WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test"), - 'eseguita la configurazione (no strict)'); - -my @resources=WebCoso::Config->get_all_resources(); -my $collections=WebCoso::Config->get_collections(); -my @collections=$collections->get_all_collections(); - -is(scalar @resources,1,'una risorsa'); -is(scalar @collections,2,'due collezioni'); -is_deeply( - [sort $resources[0]->get_collections()], - [sort $collections[0],$collections[1]], - 'aggancio r->c'); -is_deeply( - [$collections[0]->get_resources()], - [$resources[0]], - 'aggancio c->r'); -is_deeply( - [$collections[1]->get_resources()], - [$resources[0]], - 'aggancio c->r'); -} - -WebCoso::Config->clear(); - -{ -my $conf_file=<<'EOF'; -res('src/file1.rest.txt','NoSuchPipeline','dst/file.html'); -EOF - -throws_ok { - WebCoso::Config->read_scalar($conf_file,"$thisdir/config-in-test") - } - 'WebCoso::X::ConfigError', - 'muore se la pipeline è ignota'; -} |