File: document-pandoc-version.t

package info (click to toggle)
libpandoc-elements-perl 0.38-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 732 kB
  • sloc: perl: 1,630; makefile: 15; sh: 1
file content (40 lines) | stat: -rw-r--r-- 1,391 bytes parent folder | download | duplicates (2)
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
use strict;
use v5.10;
use Test::More;
use Test::Exception;
use Pandoc::Elements;

my @tests = ( # => [ minimum API version , minimum release version ]
    { pandoc_version => '1.9' } => undef,
    { pandoc_version => '1.15.1' } => [qw(1.12.3 1.12.1)],
    { pandoc_version => '1.16.0.2' } => [qw(1.16 1.16)],
    { pandoc_version => '1.17' }  => [qw(1.16 1.16)],
    { pandoc_version => '1.18' } => [qw(1.17 1.18)],
    { pandoc_version => '1.18.1' } => [qw(1.17 1.18)],
    { pandoc_version => '1.19' } => [qw(1.17 1.18)],
    { pandoc_version => '2.0' } => [qw(1.17 1.18)],
    { pandoc_version => '2.9' } => [qw(1.20 2.8)],
    { pandoc_version => '2.10' } => [qw(1.21 2.10)],
    { pandoc_version => '2.11' } => [qw(1.22 2.11)],
    { pandoc_version => '2.16' } => [qw(1.22 2.11)],
    { pandoc_version => '1.0' } => undef,
    { api_version => 1.17 } => [qw(1.17 1.18)],
);

while (@tests) {
    my ($args, $versions) = splice @tests, 0, 2;

    my $msg = join ' ', map { "$_ ".$args->{$_} } keys %$args;

    if ($versions) {
        my ($api, $release) = @$versions;
        my $doc = Document {}, [], %$args;
        is $doc->api_version,  $api, "$msg => api $api";
        is $doc->pandoc_version,  $release, "$msg => pandoc $release";
    } else {
        throws_ok { Document {}, [], %$args }
            qr/pandoc version not supported/, "$msg => error";
    }
}

done_testing;