Split from git://repo.or.cz/quvi.git
[libquvi-scripts.git] / tests / t / format_default.t
blobde1856ccc5aa8585f1ffef87e7cce75520344ff4
2 use warnings;
3 use strict;
5 use Test::More;
7 eval "use JSON::XS";
8 plan skip_all => "JSON::XS required for testing" if $@;
10 eval "use Test::Deep";
11 plan skip_all => "Test::Deep required for testing" if $@;
13 use Test::Quvi;
15 my $q = Test::Quvi->new;
17 plan skip_all => "TEST_SKIP rule"
18   if $q->test_skip("format_default");
20 my @dirs = qw(
21   data/format/default
22   data/format/default/ignore/length_bytes
23   );
25 my $c = $q->get_config;
26 push @dirs, "data/format/default/fixme" if $c->{fixme};
27 push @dirs, "data/format/default/nlfy" if $c->{nlfy};
28 push @dirs, "data/format/default/nsfw" if $c->{nsfw};
30 my @files = $q->find_json(@dirs);
32 plan skip_all => "Nothing to test" if scalar @files == 0;
33 plan tests => scalar @files * 2;
35 my $j   = $q->get_json_obj;
36 my $ign = qr|/ignore/(.*?)/|;
38 foreach (@files)
40   my $e = $q->read_json($_);
42   $q->mark_ignored(\$e, $1) if $_ =~ /$ign/;
44   my ($r, $o) = $q->run($e->{page_url}, "-qr");
45   is($r, 0, "quvi exit status == 0")
46     or diag $e->{page_url};
47 SKIP:
48   {
49     skip 'quvi exit status != 0', 1 if $r != 0;
50     cmp_deeply($j->decode($o), $e, "compare with $_")
51       or diag $e->{page_url};
52   }
55 # vim: set ts=2 sw=2 tw=72 expandtab: