[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Patrice Dumas |
Date: |
Wed, 2 Mar 2022 05:32:48 -0500 (EST) |
branch: master
commit 57d8cf5d048a68bd4fba7c4d30ce304cbeca93bd
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Mar 2 11:32:18 2022 +0100
Add cpp lines directives tests from Gavin.
---
tp/Makefile.am | 4 +-
tp/t/80include.t | 8 +-
tp/t/input_files/cpp_line_before_first_node.texi | 9 +
tp/t/input_files/cpp_line_latin1.texi | 14 +
tp/t/results/include/cpp_line_before_first_node.pl | 144 ++++++++++
tp/t/results/include/cpp_line_latin1.pl | 316 +++++++++++++++++++++
6 files changed, 493 insertions(+), 2 deletions(-)
diff --git a/tp/Makefile.am b/tp/Makefile.am
index ef8ba94124..af5f24bcca 100644
--- a/tp/Makefile.am
+++ b/tp/Makefile.am
@@ -170,17 +170,19 @@ test_files = \
t/test_utils.pl \
t/input_files/all_spaces.texi \
t/input_files/bib-example.texi \
- t/input_files/cond.texi \
t/input_files/char_latin1_utf8_in_refs.texi \
t/input_files/char_latin1_latin1_in_refs.texi \
t/input_files/char_latin2_latin2_in_refs.texi \
t/input_files/chinese_mixed_with_en.texi \
+ t/input_files/cond.texi \
t/input_files/contents_at_document_begin.texi \
t/input_files/contents_at_end_document_after_node.texi \
t/input_files/contents_at_end_document.texi \
t/input_files/contents_in_document.texi \
t/input_files/contents_no_section.texi \
+ t/input_files/cpp_line_before_first_node.texi \
t/input_files/cpp_lines.texi \
+ t/input_files/cpp_line_latin1.texi \
t/input_files/defxcond.texi \
t/input_files/delcomment.texi \
t/input_files/direntry_dircategory.texi \
diff --git a/tp/t/80include.t b/tp/t/80include.t
index 0539ea467a..8458203416 100644
--- a/tp/t/80include.t
+++ b/tp/t/80include.t
@@ -147,7 +147,13 @@ After.'],
@verbatiminclude verbatim_encoded_latin1.texi
', {'test_formats' => ['plaintext']}],
['cpp_lines',
-undef, {'test_file' => 'cpp_lines.texi'}
+undef, {'test_file' => 'cpp_lines.texi'},
+],
+['cpp_line_before_first_node',
+undef, {'test_file' => 'cpp_line_before_first_node.texi'},
+],
+['cpp_line_latin1',
+undef, {'test_file' => 'cpp_line_latin1.texi'},
],
);
diff --git a/tp/t/input_files/cpp_line_before_first_node.texi
b/tp/t/input_files/cpp_line_before_first_node.texi
new file mode 100644
index 0000000000..71297065db
--- /dev/null
+++ b/tp/t/input_files/cpp_line_before_first_node.texi
@@ -0,0 +1,9 @@
+\input texinfo
+
+#line 100 "foo.ptexi"
+
+@gggg
+
+aaa
+
+@bye
diff --git a/tp/t/input_files/cpp_line_latin1.texi
b/tp/t/input_files/cpp_line_latin1.texi
new file mode 100644
index 0000000000..a7161933a3
--- /dev/null
+++ b/tp/t/input_files/cpp_line_latin1.texi
@@ -0,0 +1,14 @@
+\input texinfo
+
+@documentencoding ISO-8859-1
+
+@node Top
+@top
+
+#line 100 "foo.pt�xi"
+
+@gggg
+
+aaa
+
+@bye
diff --git a/tp/t/results/include/cpp_line_before_first_node.pl
b/tp/t/results/include/cpp_line_before_first_node.pl
new file mode 100644
index 0000000000..58693bc47d
--- /dev/null
+++ b/tp/t/results/include/cpp_line_before_first_node.pl
@@ -0,0 +1,144 @@
+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{'cpp_line_before_first_node'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '\\input texinfo
+',
+ 'type' => 'text_before_beginning'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'text_before_beginning'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'preamble_before_beginning'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'preamble_before_content'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'aaa
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'misc_arg'
+ }
+ ],
+ 'cmdname' => 'bye',
+ 'parent' => {}
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[1];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[1]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[2];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[2]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[3]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[4];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[4]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'contents'}[5]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[0];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[0]{'parent'} =
$result_trees{'cpp_line_before_first_node'};
+$result_trees{'cpp_line_before_first_node'}{'contents'}[1]{'args'}[0]{'parent'}
= $result_trees{'cpp_line_before_first_node'}{'contents'}[1];
+$result_trees{'cpp_line_before_first_node'}{'contents'}[1]{'parent'} =
$result_trees{'cpp_line_before_first_node'};
+
+$result_texis{'cpp_line_before_first_node'} = '\\input texinfo
+
+
+
+
+aaa
+
+@bye
+';
+
+
+$result_texts{'cpp_line_before_first_node'} = '
+
+
+aaa
+
+';
+
+$result_errors{'cpp_line_before_first_node'} = [
+ {
+ 'error_line' => 'unknown command `gggg\'
+',
+ 'file_name' => 'cpp_line_before_first_node.texi',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => 'unknown command `gggg\'',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'cpp_line_before_first_node'} = {};
+
+
+1;
diff --git a/tp/t/results/include/cpp_line_latin1.pl
b/tp/t/results/include/cpp_line_latin1.pl
new file mode 100644
index 0000000000..30402eaa88
--- /dev/null
+++ b/tp/t/results/include/cpp_line_latin1.pl
@@ -0,0 +1,316 @@
+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{'cpp_line_latin1'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '\\input texinfo
+',
+ 'type' => 'text_before_beginning'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'text_before_beginning'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'preamble_before_beginning'
+ },
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'ISO-8859-1'
+ }
+ ],
+ 'extra' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'parent' => {},
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'documentencoding',
+ 'extra' => {
+ 'input_encoding_name' => 'iso-8859-1',
+ 'input_perl_encoding' => 'iso-8859-1',
+ 'spaces_before_argument' => ' ',
+ 'text_arg' => 'ISO-8859-1'
+ },
+ 'parent' => {},
+ 'source_info' => {
+ 'file_name' => 'cpp_line_latin1.texi',
+ 'line_nr' => 3,
+ 'macro' => ''
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'preamble_before_content'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'before_node_section'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Top'
+ }
+ ],
+ 'extra' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'parent' => {},
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'node',
+ 'contents' => [],
+ 'extra' => {
+ 'node_content' => [
+ {}
+ ],
+ 'nodes_manuals' => [
+ {
+ 'node_content' => [
+ {}
+ ],
+ 'normalized' => 'Top'
+ }
+ ],
+ 'normalized' => 'Top',
+ 'spaces_before_argument' => ' '
+ },
+ 'parent' => {},
+ 'source_info' => {
+ 'file_name' => 'cpp_line_latin1.texi',
+ 'line_nr' => 5,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [],
+ 'extra' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'parent' => {},
+ 'type' => 'line_arg'
+ }
+ ],
+ 'cmdname' => 'top',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'aaa
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ }
+ ],
+ 'extra' => {},
+ 'parent' => {},
+ 'source_info' => {
+ 'file_name' => 'cpp_line_latin1.texi',
+ 'line_nr' => 6,
+ 'macro' => ''
+ }
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'misc_arg'
+ }
+ ],
+ 'cmdname' => 'bye',
+ 'parent' => {}
+ }
+ ],
+ 'type' => 'document_root'
+};
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'args'}[0]{'parent'}
=
$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[0]{'parent'} =
$result_trees{'cpp_line_latin1'};
+$result_trees{'cpp_line_latin1'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[1]{'args'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[1];
+$result_trees{'cpp_line_latin1'}{'contents'}[1]{'extra'}{'node_content'}[0] =
$result_trees{'cpp_line_latin1'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}[0]
= $result_trees{'cpp_line_latin1'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'cpp_line_latin1'}{'contents'}[1]{'parent'} =
$result_trees{'cpp_line_latin1'};
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'args'}[0]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[0]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[1]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[2]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[2]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[3]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[4]{'contents'}[0]{'parent'}
= $result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[4];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[4]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'contents'}[5]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[2];
+$result_trees{'cpp_line_latin1'}{'contents'}[2]{'parent'} =
$result_trees{'cpp_line_latin1'};
+$result_trees{'cpp_line_latin1'}{'contents'}[3]{'args'}[0]{'parent'} =
$result_trees{'cpp_line_latin1'}{'contents'}[3];
+$result_trees{'cpp_line_latin1'}{'contents'}[3]{'parent'} =
$result_trees{'cpp_line_latin1'};
+
+$result_texis{'cpp_line_latin1'} = '\\input texinfo
+
+@documentencoding ISO-8859-1
+
+@node Top
+@top
+
+
+
+
+aaa
+
+@bye
+';
+
+
+$result_texts{'cpp_line_latin1'} = '
+
+
+
+
+aaa
+
+';
+
+$result_sectioning{'cpp_line_latin1'} = {
+ 'structure' => {
+ 'section_childs' => [
+ {
+ 'cmdname' => 'top',
+ 'extra' => {
+ 'associated_node' => {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'structure' => {}
+ }
+ },
+ 'structure' => {
+ 'section_level' => 0,
+ 'section_up' => {}
+ }
+ }
+ ],
+ 'section_level' => -1
+ }
+};
+$result_sectioning{'cpp_line_latin1'}{'structure'}{'section_childs'}[0]{'structure'}{'section_up'}
= $result_sectioning{'cpp_line_latin1'};
+
+$result_nodes{'cpp_line_latin1'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'associated_section' => {
+ 'cmdname' => 'top',
+ 'extra' => {},
+ 'structure' => {}
+ },
+ 'normalized' => 'Top'
+ },
+ 'structure' => {}
+};
+
+$result_menus{'cpp_line_latin1'} = {
+ 'cmdname' => 'node',
+ 'extra' => {
+ 'normalized' => 'Top'
+ },
+ 'structure' => {}
+};
+
+$result_errors{'cpp_line_latin1'} = [
+ {
+ 'error_line' => 'unknown command `gggg\'
+',
+ 'file_name' => 'foo.ptèxi',
+ 'line_nr' => 102,
+ 'macro' => '',
+ 'text' => 'unknown command `gggg\'',
+ 'type' => 'error'
+ }
+];
+
+
+$result_floats{'cpp_line_latin1'} = {};
+
+
+1;