File: parse.t

package info (click to toggle)
libpandoc-wrapper-perl 0.9.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 304 kB
  • sloc: perl: 589; makefile: 5; sh: 1
file content (42 lines) | stat: -rw-r--r-- 1,358 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
41
42
use strict;
use Test::More;
use Test::Exception;
use Pandoc;

plan skip_all => 'pandoc executable >= 1.12.1 required'
    unless pandoc and pandoc->version('1.12.1');
plan skip_all => 'Pandoc::Elements required'
    unless eval { require Pandoc::Elements; 1 }; 

my $expect = '{"c":[{"c":[{"c":"ä","t":"Str"}],"t":"Emph"}],"t":"Para"}';

my $doc = pandoc->parse( markdown => "*ä*" );
isa_ok $doc, 'Pandoc::Document', 'parse markdown';
is $doc->content->[0]->to_json, $expect, 'parse markdown';

$doc = pandoc->parse( html => '<p><em>&auml;</em></p>' );
is $doc->content->[0]->to_json, $expect, 'parse html';

SKIP: {
    skip 'pandoc executable < 1.18 required' # FIXME in Pandoc::Elements
        if pandoc->version('1.18');

    $doc = pandoc->parse( markdown => "*--ä*", '--smart' );
    is $doc->string, "\x{2013}\x{00E4}", 'parse with addition arguments';

    is_deeply $doc, pandoc->parse( json => $doc->to_json ), 'parse json';

    my $ex = pandoc->file('t/example.md', '--smart');
    is_deeply $ex, $doc, 'parse_file';
}

SKIP: {
    skip 'pandoc executable < 1.10 required' # FIXME in Pandoc::Elements
        if pandoc->version('1.10');
if ($Pandoc::Elements::VERSION >= 0.29) {
    my $html = pandoc->parse( 'markdown' => '# A *section*' )->to_html;
    ok $html =~ qr{<h1[^>]*>A <em>section</em></h1>}, 'parse->to_html';
}
}

done_testing;