summaryrefslogtreecommitdiff
path: root/t/tests/deps.t
diff options
context:
space:
mode:
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;