summaryrefslogtreecommitdiff
path: root/t/tests/deps.t
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2015-09-11 15:32:51 +0100
committerdakkar <dakkar@thenautilus.net>2015-09-11 15:32:51 +0100
commitdf354d91e7e315b839d5c292e386e64ca339cb07 (patch)
tree476314347374acc122848a6d0202fb137aba225f /t/tests/deps.t
parentfix deps out-of-date comparison (diff)
downloadWebCoso-p6-df354d91e7e315b839d5c292e386e64ca339cb07.tar.gz
WebCoso-p6-df354d91e7e315b839d5c292e386e64ca339cb07.tar.bz2
WebCoso-p6-df354d91e7e315b839d5c292e386e64ca339cb07.zip
filesets! don't work
I think I'm trying to be too clever, merging "these files make up a document, a file per language" with "these files are needed to build a result file in a certain language". Those should probably be separate classes.
Diffstat (limited to 't/tests/deps.t')
-rw-r--r--t/tests/deps.t48
1 files changed, 48 insertions, 0 deletions
diff --git a/t/tests/deps.t b/t/tests/deps.t
new file mode 100644
index 0000000..2fde79b
--- /dev/null
+++ b/t/tests/deps.t
@@ -0,0 +1,48 @@
+# -*- mode: perl6 -*-
+use Test;
+use lib 't/lib';
+use Test::WebCoso;
+use File::Temp;
+use WebCoso;
+use WebCoso::FileSet;
+
+my $testdir = tempdir.IO;
+my $srcdir = $testdir.child('src');
+my $destdir = $testdir.child('dst');
+
+$srcdir.mkdir;
+$destdir.mkdir;
+
+my $wc = WebCoso.new(:$srcdir,:$destdir);
+$wc.save-deps(
+ 'foo','document','du.xml',
+ WebCoso::FileSet.new(files-hash=>{it=>['some.xsl']}),
+);
+
+my $no-deps = $wc.load-deps('bar','random','txt');
+ok($no-deps.files.elems == 0,
+ 'no deps is empty');
+
+my $deps = $wc.load-deps('foo','document','du.xml');
+cmp-files(
+ $deps,
+ { it => { $^x.path eq 'some.xsl' } },
+ 'deps round-tripped',
+);
+
+my @d;
+$no-deps.set-for-lang('x',@d);
+dd $no-deps;
+dd $no-deps.export-hash;
+$wc.save-deps('bar','random','txt',$no-deps);
+say $srcdir.child('deps.json').IO.slurp;
+my $empty-deps = $wc.load-deps('bar','random','txt');
+dd $empty-deps;
+cmp-files(
+ $deps,
+ { x=> {$^x.elems == 0} },
+ 'empty deps is empty',
+);
+
+
+done-testing;