[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: * tp/t/57invalid_nestings.t: add tests of section
From: |
Patrice Dumas |
Subject: |
branch master updated: * tp/t/57invalid_nestings.t: add tests of section command interrupting block command lines that requires gathering tree information, section_on_multitable_line, section_on_float_line, section_on_enumerate_line, section_on_xtable_line, and section_on_itemize_line. |
Date: |
Sun, 04 Dec 2022 17:25:09 -0500 |
This is an automated email from the git hooks/post-receive script.
pertusus pushed a commit to branch master
in repository texinfo.
The following commit(s) were added to refs/heads/master by this push:
new d94777f3b6 * tp/t/57invalid_nestings.t: add tests of section command
interrupting block command lines that requires gathering tree information,
section_on_multitable_line, section_on_float_line, section_on_enumerate_line,
section_on_xtable_line, and section_on_itemize_line.
d94777f3b6 is described below
commit d94777f3b626884717756a6f0775a91357323569
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sun Dec 4 23:24:56 2022 +0100
* tp/t/57invalid_nestings.t: add tests of section command interrupting
block command lines that requires gathering tree information,
section_on_multitable_line, section_on_float_line,
section_on_enumerate_line, section_on_xtable_line,
and section_on_itemize_line.
---
ChangeLog | 8 +
tp/t/57invalid_nestings.t | 33 ++
.../invalid_nestings/section_on_enumerate_line.pl | 264 +++++++++++
.../invalid_nestings/section_on_float_line.pl | 186 ++++++++
.../invalid_nestings/section_on_itemize_line.pl | 503 ++++++++++++++++++++
.../invalid_nestings/section_on_multitable_line.pl | 427 +++++++++++++++++
.../invalid_nestings/section_on_xtable_line.pl | 523 +++++++++++++++++++++
7 files changed, 1944 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index f1d357c190..c28049a790 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-12-04 Patrice Dumas <pertusus@free.fr>
+
+ * tp/t/57invalid_nestings.t: add tests of section command interrupting
+ block command lines that requires gathering tree information,
+ section_on_multitable_line, section_on_float_line,
+ section_on_enumerate_line, section_on_xtable_line,
+ and section_on_itemize_line.
+
2022-12-04 Patrice Dumas <pertusus@free.fr>
Gather tree information when closing incorrectly nested block command
line
diff --git a/tp/t/57invalid_nestings.t b/tp/t/57invalid_nestings.t
index ee96ba3c2b..f4b010a226 100644
--- a/tp/t/57invalid_nestings.t
+++ b/tp/t/57invalid_nestings.t
@@ -560,6 +560,39 @@ Something
@end deffn
'],
+['section_on_multitable_line',
+'@multitable @section first
+
+@multitable @code{this} @section second
+
+@multitable {aaa} {bbb} @section third
+'],
+['section_on_float_line',
+'@float t, l @section first
+'],
+['section_on_enumerate_line',
+'@enumerate something @section first
+
+@enumerate 4 @section second
+'],
+['section_on_xtable_line',
+'@vtable @section first
+
+@table @TeX @section second
+
+@table @code @section third
+
+@ftable @ringaccent @section fourth
+'],
+['section_on_itemize_line',
+'@itemize @minus{} @section first
+
+@itemize @minus{} aa @section second
+
+@itemize @section third
+
+@itemize @ringaccent @section fourth
+'],
);
foreach my $test (@formatted_cases) {
diff --git a/tp/t/results/invalid_nestings/section_on_enumerate_line.pl
b/tp/t/results/invalid_nestings/section_on_enumerate_line.pl
new file mode 100644
index 0000000000..94bad9976a
--- /dev/null
+++ b/tp/t/results/invalid_nestings/section_on_enumerate_line.pl
@@ -0,0 +1,264 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors
+ %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'section_on_enumerate_line'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'something'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'enumerate',
+ 'extra' => {
+ 'enumerate_specification' => '1'
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'first'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => '4'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'enumerate',
+ 'extra' => {
+ 'enumerate_specification' => '4'
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'second'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+
+$result_texis{'section_on_enumerate_line'} = '@enumerate something @section
first
+
+@enumerate 4 @section second
+';
+
+
+$result_texts{'section_on_enumerate_line'} = '1 first
+=======
+
+2 second
+========
+';
+
+$result_sectioning{'section_on_enumerate_line'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 1,
+ 'section_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 2,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ }
+ ],
+ 'section_level' => 1
+ }
+};
+$result_sectioning{'section_on_enumerate_line'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'section_on_enumerate_line'};
+$result_sectioning{'section_on_enumerate_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_enumerate_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_enumerate_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
= $result_sectioning{'section_on_enumerate_line'};
+$result_sectioning{'section_on_enumerate_line'}{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_enumerate_line'}{'structure'}{'section_childs'}[0];
+
+$result_errors{'section_on_enumerate_line'} = [
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @enumerate
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should not appear in @enumerate',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'bad argument to @enumerate
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => 'bad argument to @enumerate',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => '@section seen before @end enumerate
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section seen before @end enumerate',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @enumerate
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should not appear in @enumerate',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end enumerate
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section seen before @end enumerate',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'section_on_enumerate_line'} = {};
+
+
+
+$result_converted{'plaintext'}->{'section_on_enumerate_line'} = '1 first
+=======
+
+2 second
+========
+
+';
+
+
+$result_converted{'xml'}->{'section_on_enumerate_line'} = '<enumerate
first="1" spaces=" "><enumeratefirst>something </enumeratefirst></enumerate>
+<section spaces=" "><sectiontitle>first</sectiontitle>
+
+<enumerate first="4" spaces=" "><enumeratefirst>4 </enumeratefirst></enumerate>
+</section>
+<section spaces=" "><sectiontitle>second</sectiontitle>
+</section>
+';
+
+1;
diff --git a/tp/t/results/invalid_nestings/section_on_float_line.pl
b/tp/t/results/invalid_nestings/section_on_float_line.pl
new file mode 100644
index 0000000000..601284d79d
--- /dev/null
+++ b/tp/t/results/invalid_nestings/section_on_float_line.pl
@@ -0,0 +1,186 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors
+ %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'section_on_float_line'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 't'
+ }
+ ],
+ 'type' => 'block_line_arg'
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'l'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' ',
+ 'spaces_before_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'float',
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'l',
+ 'type' => {
+ 'content' => [
+ {}
+ ],
+ 'normalized' => 't'
+ }
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'first'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'section_on_float_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'node_content'}[0]
=
$result_trees{'section_on_float_line'}{'contents'}[0]{'contents'}[0]{'args'}[1]{'contents'}[0];
+$result_trees{'section_on_float_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'type'}{'content'}[0]
=
$result_trees{'section_on_float_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+
+$result_texis{'section_on_float_line'} = '@float t, l @section first
+';
+
+
+$result_texts{'section_on_float_line'} = 't, l
+1 first
+=======
+';
+
+$result_sectioning{'section_on_float_line'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 1,
+ 'section_up' => {}
+ }
+ }
+ ],
+ 'section_level' => 1
+ }
+};
+$result_sectioning{'section_on_float_line'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'section_on_float_line'};
+
+$result_errors{'section_on_float_line'} = [
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @float
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should not appear in @float',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end float
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section seen before @end float',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'section_on_float_line'} = {
+ 't' => [
+ {
+ 'cmdname' => 'float',
+ 'extra' => {
+ 'normalized' => 'l',
+ 'type' => {
+ 'content' => [
+ {
+ 'text' => 't'
+ }
+ ],
+ 'normalized' => 't'
+ }
+ },
+ 'info' => {},
+ 'structure' => {
+ 'float_number' => 1
+ }
+ }
+ ]
+};
+
+
+
+$result_converted{'plaintext'}->{'section_on_float_line'} = 't 1
+1 first
+=======
+
+';
+
+
+$result_converted{'xml'}->{'section_on_float_line'} = '<float name="l"
type="t" number="1" spaces=" "><floattype>t</floattype><floatname spaces=" ">l
</floatname></float>
+<section spaces=" "><sectiontitle>first</sectiontitle>
+</section>
+';
+
+1;
diff --git a/tp/t/results/invalid_nestings/section_on_itemize_line.pl
b/tp/t/results/invalid_nestings/section_on_itemize_line.pl
new file mode 100644
index 0000000000..b464a7a49d
--- /dev/null
+++ b/tp/t/results/invalid_nestings/section_on_itemize_line.pl
@@ -0,0 +1,503 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors
+ %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'section_on_itemize_line'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'minus',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ },
+ 'type' => 'command_as_argument'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'itemize',
+ 'extra' => {
+ 'command_as_argument' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'first'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'minus',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ },
+ {
+ 'text' => ' aa'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'itemize',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'second'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'bullet',
+ 'type' => 'command_as_argument_inserted'
+ }
+ ],
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'itemize',
+ 'extra' => {
+ 'command_as_argument' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'third'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'ringaccent',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ },
+ 'type' => 'command_as_argument'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'itemize',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'fourth'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'section_on_itemize_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'command_as_argument'}
=
$result_trees{'section_on_itemize_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'section_on_itemize_line'}{'contents'}[2]{'contents'}[1]{'extra'}{'command_as_argument'}
=
$result_trees{'section_on_itemize_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
+
+$result_texis{'section_on_itemize_line'} = '@itemize @minus{} @section first
+
+@itemize @minus{} aa @section second
+
+@itemize @section third
+
+@itemize @ringaccent @section fourth
+';
+
+
+$result_texts{'section_on_itemize_line'} = '1 first
+=======
+
+2 second
+========
+
+3 third
+=======
+
+4 fourth
+========
+';
+
+$result_sectioning{'section_on_itemize_line'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 1,
+ 'section_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 2,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 3,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 4,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ }
+ ],
+ 'section_level' => 1
+ }
+};
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'section_on_itemize_line'};
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
= $result_sectioning{'section_on_itemize_line'};
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[2]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[1];
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[2]{'structure'}{'section_up'}
= $result_sectioning{'section_on_itemize_line'};
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[1];
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[3]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[2];
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[3]{'structure'}{'section_up'}
= $result_sectioning{'section_on_itemize_line'};
+$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[3]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_itemize_line'}{'structure'}{'section_childs'}[2];
+
+$result_errors{'section_on_itemize_line'} = [
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section seen before @end itemize',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section seen before @end itemize',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section seen before @end itemize',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => '@section should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: accent command `@ringaccent\' not allowed as
@itemize argument
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => 'accent command `@ringaccent\' not allowed as @itemize argument',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => '@section seen before @end itemize',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'section_on_itemize_line'} = {};
+
+
+
+$result_converted{'plaintext'}->{'section_on_itemize_line'} = '1 first
+=======
+
+2 second
+========
+
+3 third
+=======
+
+4 fourth
+========
+
+';
+
+
+$result_converted{'xml'}->{'section_on_itemize_line'} = '<itemize
commandarg="minus" spaces=" "><itemprepend>− </itemprepend></itemize>
+<section spaces=" "><sectiontitle>first</sectiontitle>
+
+<itemize spaces=" "><itemprepend>− aa </itemprepend></itemize>
+</section>
+<section spaces=" "><sectiontitle>second</sectiontitle>
+
+<itemize commandarg="bullet" spaces=" "><itemprepend><formattingcommand
command="bullet" automatic="on"/></itemprepend></itemize>
+</section>
+<section spaces=" "><sectiontitle>third</sectiontitle>
+
+<itemize spaces=" "><itemprepend><accent type="ring"></accent>
</itemprepend></itemize>
+</section>
+<section spaces=" "><sectiontitle>fourth</sectiontitle>
+</section>
+';
+
+1;
diff --git a/tp/t/results/invalid_nestings/section_on_multitable_line.pl
b/tp/t/results/invalid_nestings/section_on_multitable_line.pl
new file mode 100644
index 0000000000..a46a17eace
--- /dev/null
+++ b/tp/t/results/invalid_nestings/section_on_multitable_line.pl
@@ -0,0 +1,427 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors
+ %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'section_on_multitable_line'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'multitable',
+ 'extra' => {
+ 'max_columns' => 0,
+ 'prototypes' => []
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'first'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'this'
+ }
+ ],
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'code',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'multitable',
+ 'extra' => {
+ 'max_columns' => 0,
+ 'prototypes' => []
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'second'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'aaa'
+ }
+ ],
+ 'type' => 'bracketed'
+ },
+ {
+ 'text' => ' '
+ },
+ {
+ 'contents' => [
+ {
+ 'text' => 'bbb'
+ }
+ ],
+ 'type' => 'bracketed'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'multitable',
+ 'extra' => {
+ 'max_columns' => 2,
+ 'prototypes' => [
+ {
+ 'contents' => [
+ {}
+ ],
+ 'type' => 'bracketed_multitable_prototype'
+ },
+ {
+ 'contents' => [
+ {}
+ ],
+ 'type' => 'bracketed_multitable_prototype'
+ }
+ ]
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'third'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'section_on_multitable_line'}{'contents'}[2]{'contents'}[1]{'extra'}{'prototypes'}[0]{'contents'}[0]
=
$result_trees{'section_on_multitable_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'section_on_multitable_line'}{'contents'}[2]{'contents'}[1]{'extra'}{'prototypes'}[1]{'contents'}[0]
=
$result_trees{'section_on_multitable_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[2]{'contents'}[0];
+
+$result_texis{'section_on_multitable_line'} = '@multitable @section first
+
+@multitable @code{this} @section second
+
+@multitable {aaa} {bbb} @section third
+';
+
+
+$result_texts{'section_on_multitable_line'} = '1 first
+=======
+
+2 second
+========
+
+3 third
+=======
+';
+
+$result_sectioning{'section_on_multitable_line'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 1,
+ 'section_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 2,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 3,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ }
+ ],
+ 'section_level' => 1
+ }
+};
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'section_on_multitable_line'};
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
= $result_sectioning{'section_on_multitable_line'};
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[2]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[1];
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[2]{'structure'}{'section_up'}
= $result_sectioning{'section_on_multitable_line'};
+$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_multitable_line'}{'structure'}{'section_childs'}[1];
+
+$result_errors{'section_on_multitable_line'} = [
+ {
+ 'error_line' => 'warning: @section should not appear in @multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should not appear in @multitable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: empty multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => 'empty multitable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section seen before @end multitable',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should not appear in @multitable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: unexpected argument on @multitable line:
@code{this}
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => 'unexpected argument on @multitable line: @code{this}',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: empty multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => 'empty multitable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section seen before @end multitable',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section should not appear in @multitable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end multitable
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section seen before @end multitable',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'section_on_multitable_line'} = {};
+
+
+
+$result_converted{'plaintext'}->{'section_on_multitable_line'} = '1 first
+=======
+
+2 second
+========
+
+3 third
+=======
+
+';
+
+
+$result_converted{'xml'}->{'section_on_multitable_line'} = '<multitable
spaces=" ">
+</multitable>
+<section spaces=" "><sectiontitle>first</sectiontitle>
+
+<multitable spaces="
"><columnprototypes><columnprototype><code>this</code></columnprototype></columnprototypes></multitable>
+</section>
+<section spaces=" "><sectiontitle>second</sectiontitle>
+
+<multitable spaces=" "><columnprototypes><columnprototype
bracketed="on">aaa</columnprototype> <columnprototype
bracketed="on">bbb</columnprototype></columnprototypes></multitable>
+</section>
+<section spaces=" "><sectiontitle>third</sectiontitle>
+</section>
+';
+
+1;
diff --git a/tp/t/results/invalid_nestings/section_on_xtable_line.pl
b/tp/t/results/invalid_nestings/section_on_xtable_line.pl
new file mode 100644
index 0000000000..fe00fe6f11
--- /dev/null
+++ b/tp/t/results/invalid_nestings/section_on_xtable_line.pl
@@ -0,0 +1,523 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors
+ %result_elements %result_directions_text %result_indices_sort_strings);
+
+use utf8;
+
+$result_trees{'section_on_xtable_line'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'cmdname' => 'asis',
+ 'type' => 'command_as_argument_inserted'
+ },
+ {
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'vtable',
+ 'extra' => {
+ 'command_as_argument' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'first'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'cmdname' => 'asis',
+ 'type' => 'command_as_argument_inserted'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'TeX',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ },
+ 'type' => 'command_as_argument'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'table',
+ 'extra' => {
+ 'command_as_argument' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'second'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'code',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ },
+ 'type' => 'command_as_argument'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'table',
+ 'extra' => {
+ 'command_as_argument' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'third'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'contents' => [
+ {
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'cmdname' => 'asis',
+ 'type' => 'command_as_argument_inserted'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'ringaccent',
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ },
+ 'type' => 'command_as_argument'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => ' '
+ },
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'ftable',
+ 'extra' => {
+ 'command_as_argument' => {}
+ },
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'text' => 'fourth'
+ }
+ ],
+ 'info' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'section',
+ 'info' => {
+ 'spaces_before_argument' => ' '
+ },
+ 'source_info' => {
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => ''
+ }
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'section_on_xtable_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'command_as_argument'}
=
$result_trees{'section_on_xtable_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'section_on_xtable_line'}{'contents'}[1]{'contents'}[1]{'extra'}{'command_as_argument'}
=
$result_trees{'section_on_xtable_line'}{'contents'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'section_on_xtable_line'}{'contents'}[2]{'contents'}[1]{'extra'}{'command_as_argument'}
=
$result_trees{'section_on_xtable_line'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'section_on_xtable_line'}{'contents'}[3]{'contents'}[1]{'extra'}{'command_as_argument'}
=
$result_trees{'section_on_xtable_line'}{'contents'}[3]{'contents'}[1]{'args'}[0];
+
+$result_texis{'section_on_xtable_line'} = '@vtable @section first
+
+@table @TeX @section second
+
+@table @code @section third
+
+@ftable @ringaccent @section fourth
+';
+
+
+$result_texts{'section_on_xtable_line'} = '1 first
+=======
+
+2 second
+========
+
+3 third
+=======
+
+4 fourth
+========
+';
+
+$result_sectioning{'section_on_xtable_line'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 1,
+ 'section_up' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 2,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 3,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ },
+ {
+ 'cmdname' => 'section',
+ 'info' => {},
+ 'structure' => {
+ 'section_level' => 2,
+ 'section_number' => 4,
+ 'section_prev' => {},
+ 'section_up' => {},
+ 'toplevel_prev' => {}
+ }
+ }
+ ],
+ 'section_level' => 1
+ }
+};
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'section_on_xtable_line'};
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[1]{'structure'}{'section_up'}
= $result_sectioning{'section_on_xtable_line'};
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[1]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[0];
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[2]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[1];
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[2]{'structure'}{'section_up'}
= $result_sectioning{'section_on_xtable_line'};
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[2]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[1];
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[3]{'structure'}{'section_prev'}
=
$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[2];
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[3]{'structure'}{'section_up'}
= $result_sectioning{'section_on_xtable_line'};
+$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[3]{'structure'}{'toplevel_prev'}
=
$result_sectioning{'section_on_xtable_line'}{'structure'}{'section_childs'}[2];
+
+$result_errors{'section_on_xtable_line'} = [
+ {
+ 'error_line' => 'warning: @section should not appear in @vtable
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section should not appear in @vtable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'vtable requires an argument: the formatter for @item
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => 'vtable requires an argument: the formatter for @item',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => '@section seen before @end vtable
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@section seen before @end vtable',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @table
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section should not appear in @table',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'command @TeX not accepting argument in brace should not
be on @table line
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => 'command @TeX not accepting argument in brace should not be on
@table line',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => '@section seen before @end table
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@section seen before @end table',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @table
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section should not appear in @table',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end table
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@section seen before @end table',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => 'warning: @section should only appear at the beginning of
a line
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => '@section should only appear at the beginning of a line',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: @section should not appear in @ftable
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => '@section should not appear in @ftable',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => 'warning: accent command `@ringaccent\' not allowed as
@ftable argument
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => 'accent command `@ringaccent\' not allowed as @ftable argument',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => '@section seen before @end ftable
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => '@section seen before @end ftable',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'section_on_xtable_line'} = {};
+
+
+
+$result_converted{'plaintext'}->{'section_on_xtable_line'} = '1 first
+=======
+
+2 second
+========
+
+3 third
+=======
+
+4 fourth
+========
+
+';
+
+
+$result_converted{'xml'}->{'section_on_xtable_line'} = '<vtable
commandarg="asis" spaces=" "></vtable>
+<section spaces=" "><sectiontitle>first</sectiontitle>
+
+<table commandarg="asis" spaces=" "> </table>
+</section>
+<section spaces=" "><sectiontitle>second</sectiontitle>
+
+<table commandarg="code" spaces=" "> </table>
+</section>
+<section spaces=" "><sectiontitle>third</sectiontitle>
+
+<ftable commandarg="asis" spaces=" "> </ftable>
+</section>
+<section spaces=" "><sectiontitle>fourth</sectiontitle>
+</section>
+';
+
+1;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: * tp/t/57invalid_nestings.t: add tests of section command interrupting block command lines that requires gathering tree information, section_on_multitable_line, section_on_float_line, section_on_enumerate_line, section_on_xtable_line, and section_on_itemize_line.,
Patrice Dumas <=