use strict;
use Test::More;
use lib '.';
use Texinfo::ModulePath (undef, undef, undef, 'updirs' => 2);
use Texinfo::Convert::Texinfo;
plan tests => 2;
ok(1, "modules loading"); # If we made it this far, we're ok.
# Note that this tree is not necessarily updated when the tree elements
# change, so it generally uses obsolete constructs.
my $manual_tree = { 'cmdname' => 'multitable',
'args' => [
{ 'type' => 'block_line_arg',
'contents' => [
{ 'text' => ' ' },
{ 'type' => 'bracketed_arg',
'contents' => [
{'text' => 'aaaa'},
]
},
{ 'text' => ' ' },
{ 'type' => 'bracketed_arg',
'contents' => [
{'text' => 'xx'},
{'cmdname' => 'b',
'args' => [
{
'type' => 'brace_command_arg',
'contents' => [
{ 'text' => 'rr' }
]
}
]
}
]
},
{'text' => " ccc\n"},
],
} ],
'extra' => { 'max_columns' => 3, },
'contents' => [
{ 'type' => 'before_item',
'contents' => [
{ 'type' => 'paragraph',
'contents' => [
{ 'text' => "title" },
{ 'cmdname' => 'verb',
'args' => [ {
'contents' => [
{ 'text' => ' in verb } ',
'type' => 'raw' }
],
'type' => 'brace_command_arg',
} ],
'info' => {
'delimiter' => ':'
}
},
{ 'cmdname' => '@'},
{ 'text' => ".\n"},
]
}
]
},
{
'type' => 'multitable_body',
'contents' => [
{
'type' => 'row',
'extra' => {'row_number' => 1},
'contents' => [
{
'cmdname' => 'item',
'extra' => {'cell_number' => 1,},
'contents' => [ {'text' => " \n" } ]
}
]
},
]
},
{
'cmdname' => 'end',
'info' => {
'spaces_before_argument' => {'text' => ' '},
},
'extra' => {
'text_arg' => 'multitable',
},
'args' => [
{
'type' => 'line_arg',
'contents' => [
{
'text' => 'multitable'
},
],
'info' => {
'spaces_after_argument' => {'text' => '
',},
},
}
],
}
]
};
my $manual_tree_result = '@multitable {aaaa} {xx@b{rr}} ccc
title@verb{: in verb } :}@@.
@item
@end multitable
';
is (Texinfo::Convert::Texinfo::convert_to_texinfo($manual_tree),
$manual_tree_result, "tree_to_texi on a manually written tree");