texinfo-commits
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]