texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[5340] * tp/Texinfo/Convert/Info.pm (output),


From: Patrice Dumas
Subject: [5340] * tp/Texinfo/Convert/Info.pm (output),
Date: Fri, 23 Aug 2013 22:35:01 +0000

Revision: 5340
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5340
Author:   pertusus
Date:     2013-08-23 22:34:58 +0000 (Fri, 23 Aug 2013)
Log Message:
-----------
        * tp/Texinfo/Convert/Info.pm (output), 
        tp/Texinfo/Convert/Plaintext.pm: collect text before first node
        and output the same header for every Info output files using that
        text.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/tp/DebugTexinfo/DebugCount.pm
    trunk/tp/Texinfo/Convert/Info.pm
    trunk/tp/Texinfo/Convert/Plaintext.pm
    trunk/tp/t/info_tests.t

Added Paths:
-----------
    trunk/tp/t/results/info_tests/split_test_before_first_node/
    trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/
    
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info
    
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-1
    
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-2
    trunk/tp/t/results/info_tests/split_test_before_first_node.pl
    trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/
    
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/
    
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info
    
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-1
    
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-2
    trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog     2013-08-22 18:02:59 UTC (rev 5339)
+++ trunk/ChangeLog     2013-08-23 22:34:58 UTC (rev 5340)
@@ -1,3 +1,10 @@
+2013-08-24  Patrice Dumas  <address@hidden>
+
+       * tp/Texinfo/Convert/Info.pm (output), 
+       tp/Texinfo/Convert/Plaintext.pm: collect text before first node
+       and output the same header for every Info output files using that
+       text.
+
 2013-08-22  Karl Berry  <address@hidden>
 
        * info/infomap.c (default_{emacs,vi}_like_info_keys),

Modified: trunk/tp/DebugTexinfo/DebugCount.pm
===================================================================
--- trunk/tp/DebugTexinfo/DebugCount.pm 2013-08-22 18:02:59 UTC (rev 5339)
+++ trunk/tp/DebugTexinfo/DebugCount.pm 2013-08-23 22:34:58 UTC (rev 5340)
@@ -17,6 +17,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 # 
 # Original author: Patrice Dumas <address@hidden>
+# ./texi2any.pl --set TEXINFO_OUTPUT_FORMAT=debugcount file.texi
 
 use strict;
 

Modified: trunk/tp/Texinfo/Convert/Info.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Info.pm    2013-08-22 18:02:59 UTC (rev 5339)
+++ trunk/tp/Texinfo/Convert/Info.pm    2013-08-23 22:34:58 UTC (rev 5340)
@@ -76,11 +76,14 @@
   push @{$self->{'count_context'}}, {'lines' => 0, 'bytes' => 0,
                                      'locations' => []};
   my $header = $self->_info_header();
+  # header + text between setfilename and first node
+  my $complete_header = $header;
 
   pop @{$self->{'count_context'}};
   return undef unless $self->_create_destination_directory();
 
   my $header_bytes = $self->count_bytes($header);
+  my $complete_header_bytes = $header_bytes;
   my $elements = Texinfo::Structuring::split_by_node($root);
 
   my $fh;
@@ -120,17 +123,23 @@
                             $self->{'info'}->{'input_file_name'});
     }
     $out_file_nr = 1;
-    if ($fh) {
-      print $fh $header;
-    } else {
-      $result = $header;
-    }
+    my $first_node = 0;
     $self->{'count_context'}->[-1]->{'bytes'} += $header_bytes;
-    my $first_node_bytes_count = $header_bytes;
     my @nodes = @$elements;
     while (@nodes) {
       my $node = shift @nodes;
       my $node_text = $self->_convert_node($node);
+      if (!$first_node) {
+        $first_node = 1;
+        if (defined($self->{'text_before_first_node'})) {
+          $complete_header .= $self->{'text_before_first_node'};
+          $complete_header_bytes += 
$self->count_bytes($self->{'text_before_first_node'});
+        }
+        # for the first node, header is prepended, not complete_header
+        # as 'text_before_first_node' is already part of the node
+        # text
+        $node_text = $header . $node_text;
+      }
       if ($fh) {
         print $fh $node_text;
       } else {
@@ -168,7 +177,7 @@
           push @{$self->{'opened_files'}}, 
                    $self->{'output_file'}.'-'.$out_file_nr;
           push @indirect_files, [$self->{'output_filename'}.'-'.$out_file_nr,
-                                 $first_node_bytes_count];
+                                 $complete_header_bytes];
           #print STDERR join(' --> ', @{$indirect_files[-1]}) ."\n";
         } else {
           $self->register_close_file($self->{'output_file'}.'-'.$out_file_nr);
@@ -192,8 +201,8 @@
                   $self->{'output_file'}.'-'.$out_file_nr, $!));
            return undef;
         }
-        print $fh $header;
-        $self->{'count_context'}->[-1]->{'bytes'} += $header_bytes;
+        print $fh $complete_header;
+        $self->{'count_context'}->[-1]->{'bytes'} += $complete_header_bytes;
         push @indirect_files, [$self->{'output_filename'}.'-'.$out_file_nr,
                                $self->{'count_context'}->[-1]->{'bytes'}];
         #print STDERR join(' --> ', @{$indirect_files[-1]}) ."\n";
@@ -218,7 +227,7 @@
             $self->{'output_file'}, $!));
       return undef;
     }
-    $tag_text = $header;
+    $tag_text = $complete_header;
     $tag_text .= "\x{1F}\nIndirect:";
     foreach my $indirect (@indirect_files) {
       $tag_text .= "\n$indirect->[0]: $indirect->[1]";
@@ -370,7 +379,14 @@
   if (!$self->{'empty_lines_count'}) {
     $result .= "\n";
     $self->_add_text_count("\n");
+    # if in the first node, complete the 'text_before_first_node' too.
+    if (!$self->{'first_node_done'}) {
+      $self->{'text_before_first_node'} .= "\n";
+    }
   }
+  if (!$self->{'first_node_done'}) {
+    $self->{'first_node_done'} = 1;
+  }
 
   # May happen when only converting a fragment
   my $output_filename = $self->{'output_filename'};

Modified: trunk/tp/Texinfo/Convert/Plaintext.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Plaintext.pm       2013-08-22 18:02:59 UTC (rev 
5339)
+++ trunk/tp/Texinfo/Convert/Plaintext.pm       2013-08-23 22:34:58 UTC (rev 
5340)
@@ -416,13 +416,14 @@
   my $precision = shift; 
   my $element = shift;
 
-  my $element_text;
-  if ($element) {
-    $element_text = 
Texinfo::Structuring::_print_element_command_texi($element);
-  } else {
-    $element_text = '';
-  }
   if (scalar(@{$self->{'count_context'}}) != 1) {
+    my $element_text;
+    if ($element) {
+      $element_text 
+         = Texinfo::Structuring::_print_element_command_texi($element);
+    } else {
+      $element_text = '';
+    }
     $self->_bug_message("Too much count_context ${precision}(".
       scalar(@{$self->{'count_context'}}). "): ". $element_text, $element);
     die;
@@ -2973,6 +2974,8 @@
       $self->{'format_context'}->[-1]->{'row_counts'} = [];
       $self->{'format_context'}->[-1]->{'row_empty_lines_count'} 
         = $self->{'empty_lines_count'};
+    } elsif ($root->{'type'} eq 'text_root') {
+      $self->{'text_before_first_node'} = $result;
     }
   }
   # close paragraphs and preformatted

Modified: trunk/tp/t/info_tests.t
===================================================================
--- trunk/tp/t/info_tests.t     2013-08-22 18:02:59 UTC (rev 5339)
+++ trunk/tp/t/info_tests.t     2013-08-23 22:34:58 UTC (rev 5340)
@@ -830,13 +830,59 @@
 '],
 );
 
+my @file_tests = (
+['split_test_before_first_node',
+'@setfilename split_test_before_first_node.info
+
+truc machin et reuc machin  ze aze zea zae eaz eaz zae
+
address@hidden Top
address@hidden top
+
+In top node
+
address@hidden
+* chap1::
address@hidden menu
+
address@hidden chap1
address@hidden chap
+
+In chap1.
+
+',{},{'SPLIT_SIZE' => 10}],
+['split_test_before_first_node_no_empty_line',
+'@setfilename split_test_before_first_node.info
+
+truc machin et reuc machin  ze aze zea zae eaz eaz zae
address@hidden Top
address@hidden top
+
+In top node
+
address@hidden
+* chap1::
address@hidden menu
+
address@hidden chap1
address@hidden chap
+
+In chap1.
+
+',{},{'SPLIT_SIZE' => 10}],
+);
+
 foreach my $test (@test_cases) {
   push @{$test->[2]->{'test_formats'}}, 'info';
 }
 
+foreach my $test (@file_tests) {
+  push @{$test->[2]->{'test_formats'}}, 'file_info';
+}
+
 our ($arg_test_case, $arg_generate, $arg_debug);
 
-run_all ('info_tests', address@hidden, $arg_test_case,
+run_all ('info_tests', address@hidden, @file_tests], $arg_test_case,
    $arg_generate, $arg_debug);
 
 1;

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info
===================================================================
--- 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info
                               (rev 0)
+++ 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info
       2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,15 @@
+This is split_test_before_first_node.info, produced from .
+
+truc machin et reuc machin ze aze zea zae eaz eaz zae
+
+
+Indirect:
+split_test_before_first_node.info-1: 115
+split_test_before_first_node.info-2: 353
+
+Tag Table:
+(Indirect)
+Node: Top115
+Node: chap1353
+
+End Tag Table

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-1
===================================================================
--- 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-1
                             (rev 0)
+++ 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-1
     2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,16 @@
+This is split_test_before_first_node.info, produced from .
+
+truc machin et reuc machin ze aze zea zae eaz eaz zae
+
+
+File: split_test_before_first_node.info,  Node: Top,  Next: chap1,  Up: (dir)
+
+top
+***
+
+In top node
+
+* Menu:
+
+* chap1::
+

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-2
===================================================================
--- 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-2
                             (rev 0)
+++ 
trunk/tp/t/results/info_tests/split_test_before_first_node/res_info/split_test_before_first_node.info-2
     2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,12 @@
+This is split_test_before_first_node.info, produced from .
+
+truc machin et reuc machin ze aze zea zae eaz eaz zae
+
+
+File: split_test_before_first_node.info,  Node: chap1,  Prev: Top,  Up: Top
+
+1 chap
+******
+
+In chap1.
+

Added: trunk/tp/t/results/info_tests/split_test_before_first_node.pl
===================================================================
--- trunk/tp/t/results/info_tests/split_test_before_first_node.pl               
                (rev 0)
+++ trunk/tp/t/results/info_tests/split_test_before_first_node.pl       
2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,679 @@
+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);
+
+use utf8;
+
+$result_trees{'split_test_before_first_node'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'extra' => {
+                    'command' => {}
+                  },
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'split_test_before_first_node.info'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'setfilename',
+          'extra' => {
+            'spaces_after_command' => {},
+            'text_arg' => 'split_test_before_first_node.info'
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'truc machin et reuc machin  ze aze zea zae eaz eaz zae
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Top'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_after_command' => {}
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 5,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'top'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'In top node
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'menu',
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => '* ',
+                  'type' => 'menu_entry_leading_text'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'chap1'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'menu_entry_node'
+                },
+                {
+                  'parent' => {},
+                  'text' => '::',
+                  'type' => 'menu_entry_separator'
+                },
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => '
+'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'preformatted'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'menu_entry_description'
+                }
+              ],
+              'extra' => {
+                'menu_entry_description' => {},
+                'menu_entry_node' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'chap1'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 11,
+                'macro' => ''
+              },
+              'parent' => {},
+              'type' => 'menu_entry'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'extra' => {
+                        'command' => {}
+                      },
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'menu'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'spaces_at_end'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command' => {},
+                'command_argument' => 'menu',
+                'spaces_after_command' => {},
+                'text_arg' => 'menu'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 12,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'end_command' => {},
+            'spaces_after_command' => {}
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 10,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ],
+        'spaces_after_command' => {}
+      },
+      'level' => 0,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 6,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'chap1'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'chap1'
+          }
+        ],
+        'normalized' => 'chap1',
+        'spaces_after_command' => {}
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 14,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'chap'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'In chap1.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ],
+        'spaces_after_command' => {}
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 15,
+        'macro' => ''
+      },
+      'number' => 1,
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[0]{'parent'} = 
$result_trees{'split_test_before_first_node'};
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[1]{'parent'} = 
$result_trees{'split_test_before_first_node'};
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'menu_entry_description'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'menu_entry_node'}{'node_content'}[0]
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'extra'}{'end_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[3]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'contents'}[4]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[2];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[2]{'parent'} = 
$result_trees{'split_test_before_first_node'};
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[3];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[3]{'extra'}{'node_content'};
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[3]{'parent'} = 
$result_trees{'split_test_before_first_node'};
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node'}{'contents'}[4];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node'}{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node'}{'contents'}[4]{'parent'} = 
$result_trees{'split_test_before_first_node'};
+
+$result_texis{'split_test_before_first_node'} = '@setfilename 
split_test_before_first_node.info
+
+truc machin et reuc machin  ze aze zea zae eaz eaz zae
+
address@hidden Top
address@hidden top
+
+In top node
+
address@hidden
+* chap1::
address@hidden menu
+
address@hidden chap1
address@hidden chap
+
+In chap1.
+
+';
+
+
+$result_texts{'split_test_before_first_node'} = '
+truc machin et reuc machin  ze aze zea zae eaz eaz zae
+
+top
+***
+
+In top node
+
+* chap1::
+
+1 chap
+******
+
+In chap1.
+
+';
+
+$result_sectioning{'split_test_before_first_node'} = {
+  'level' => -1,
+  'section_childs' => [
+    {
+      'cmdname' => 'top',
+      'extra' => {
+        'associated_node' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'normalized' => 'Top'
+          }
+        }
+      },
+      'level' => 0,
+      'section_childs' => [
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'associated_node' => {
+              'cmdname' => 'node',
+              'extra' => {
+                'normalized' => 'chap1'
+              }
+            }
+          },
+          'level' => 1,
+          'number' => 1,
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        }
+      ],
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'split_test_before_first_node'}{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'split_test_before_first_node'}{'section_childs'}[0];
+$result_sectioning{'split_test_before_first_node'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_prev'}
 = $result_sectioning{'split_test_before_first_node'}{'section_childs'}[0];
+$result_sectioning{'split_test_before_first_node'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_up'}
 = $result_sectioning{'split_test_before_first_node'}{'section_childs'}[0];
+$result_sectioning{'split_test_before_first_node'}{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'split_test_before_first_node'};
+
+$result_nodes{'split_test_before_first_node'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'level' => 0
+    },
+    'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'cmdname' => 'node',
+    'extra' => {
+      'associated_section' => {
+        'cmdname' => 'chapter',
+        'extra' => {},
+        'level' => 1,
+        'number' => 1
+      },
+      'normalized' => 'chap1'
+    },
+    'node_prev' => {},
+    'node_up' => {}
+  },
+  'menus' => [
+    {
+      'cmdname' => 'menu',
+      'extra' => {
+        'end_command' => {
+          'cmdname' => 'end',
+          'extra' => {
+            'command' => {},
+            'command_argument' => 'menu',
+            'text_arg' => 'menu'
+          }
+        }
+      }
+    }
+  ],
+  'node_next' => {},
+  'node_up' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'dir'
+        }
+      ],
+      'top_node_up' => {}
+    },
+    'type' => 'top_node_up'
+  }
+};
+$result_nodes{'split_test_before_first_node'}{'menu_child'}{'node_prev'} = 
$result_nodes{'split_test_before_first_node'};
+$result_nodes{'split_test_before_first_node'}{'menu_child'}{'node_up'} = 
$result_nodes{'split_test_before_first_node'};
+$result_nodes{'split_test_before_first_node'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'split_test_before_first_node'}{'menus'}[0];
+$result_nodes{'split_test_before_first_node'}{'node_next'} = 
$result_nodes{'split_test_before_first_node'}{'menu_child'};
+$result_nodes{'split_test_before_first_node'}{'node_up'}{'extra'}{'top_node_up'}
 = $result_nodes{'split_test_before_first_node'};
+
+$result_menus{'split_test_before_first_node'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'cmdname' => 'node',
+    'extra' => {
+      'normalized' => 'chap1'
+    },
+    'menu_up' => {},
+    'menu_up_hash' => {
+      'Top' => 1
+    }
+  }
+};
+$result_menus{'split_test_before_first_node'}{'menu_child'}{'menu_up'} = 
$result_menus{'split_test_before_first_node'};
+
+$result_errors{'split_test_before_first_node'} = [];
+
+
+1;

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info
===================================================================
--- 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info
                         (rev 0)
+++ 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info
 2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,15 @@
+This is split_test_before_first_node.info, produced from .
+
+truc machin et reuc machin ze aze zea zae eaz eaz zae
+
+
+Indirect:
+split_test_before_first_node.info-1: 115
+split_test_before_first_node.info-2: 353
+
+Tag Table:
+(Indirect)
+Node: Top115
+Node: chap1353
+
+End Tag Table

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-1
===================================================================
--- 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-1
                               (rev 0)
+++ 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-1
       2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,16 @@
+This is split_test_before_first_node.info, produced from .
+
+truc machin et reuc machin ze aze zea zae eaz eaz zae
+
+
+File: split_test_before_first_node.info,  Node: Top,  Next: chap1,  Up: (dir)
+
+top
+***
+
+In top node
+
+* Menu:
+
+* chap1::
+

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-2
===================================================================
--- 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-2
                               (rev 0)
+++ 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line/res_info/split_test_before_first_node.info-2
       2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,12 @@
+This is split_test_before_first_node.info, produced from .
+
+truc machin et reuc machin ze aze zea zae eaz eaz zae
+
+
+File: split_test_before_first_node.info,  Node: chap1,  Prev: Top,  Up: Top
+
+1 chap
+******
+
+In chap1.
+

Added: 
trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl
===================================================================
--- trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl 
                        (rev 0)
+++ trunk/tp/t/results/info_tests/split_test_before_first_node_no_empty_line.pl 
2013-08-23 22:34:58 UTC (rev 5340)
@@ -0,0 +1,670 @@
+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);
+
+use utf8;
+
+$result_trees{'split_test_before_first_node_no_empty_line'} = {
+  'contents' => [
+    {
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'extra' => {
+                    'command' => {}
+                  },
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'split_test_before_first_node.info'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'spaces_at_end'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'setfilename',
+          'extra' => {
+            'spaces_after_command' => {},
+            'text_arg' => 'split_test_before_first_node.info'
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 1,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'truc machin et reuc machin  ze aze zea zae eaz eaz zae
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {},
+      'type' => 'text_root'
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'Top'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'Top'
+          }
+        ],
+        'normalized' => 'Top',
+        'spaces_after_command' => {}
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 4,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'top'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'top',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'In top node
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'cmdname' => 'menu',
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line_after_command'
+            },
+            {
+              'args' => [
+                {
+                  'parent' => {},
+                  'text' => '* ',
+                  'type' => 'menu_entry_leading_text'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'chap1'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'menu_entry_node'
+                },
+                {
+                  'parent' => {},
+                  'text' => '::',
+                  'type' => 'menu_entry_separator'
+                },
+                {
+                  'contents' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => '
+'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'preformatted'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'menu_entry_description'
+                }
+              ],
+              'extra' => {
+                'menu_entry_description' => {},
+                'menu_entry_node' => {
+                  'node_content' => [
+                    {}
+                  ],
+                  'normalized' => 'chap1'
+                }
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 10,
+                'macro' => ''
+              },
+              'parent' => {},
+              'type' => 'menu_entry'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'extra' => {
+                        'command' => {}
+                      },
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'menu'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'spaces_at_end'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command' => {},
+                'command_argument' => 'menu',
+                'spaces_after_command' => {},
+                'text_arg' => 'menu'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 11,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'end_command' => {},
+            'spaces_after_command' => {}
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 9,
+            'macro' => ''
+          },
+          'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ],
+        'spaces_after_command' => {}
+      },
+      'level' => 0,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 5,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'chap1'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'node',
+      'contents' => [],
+      'extra' => {
+        'node_content' => [
+          {}
+        ],
+        'nodes_manuals' => [
+          {
+            'node_content' => [],
+            'normalized' => 'chap1'
+          }
+        ],
+        'normalized' => 'chap1',
+        'spaces_after_command' => {}
+      },
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 13,
+        'macro' => ''
+      },
+      'parent' => {}
+    },
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'extra' => {
+                'command' => {}
+              },
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'parent' => {},
+              'text' => 'chap'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'spaces_at_end'
+            }
+          ],
+          'parent' => {},
+          'type' => 'misc_line_arg'
+        }
+      ],
+      'cmdname' => 'chapter',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'In chap1.
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        }
+      ],
+      'extra' => {
+        'misc_content' => [
+          {}
+        ],
+        'spaces_after_command' => {}
+      },
+      'level' => 1,
+      'line_nr' => {
+        'file_name' => '',
+        'line_nr' => 14,
+        'macro' => ''
+      },
+      'number' => 1,
+      'parent' => {}
+    }
+  ],
+  'type' => 'document_root'
+};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'extra'}{'node_content'}[0]
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'extra'}{'node_content'};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'extra'}{'command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'menu_entry_description'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'extra'}{'menu_entry_node'}{'node_content'}[0]
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'args'}[1]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'extra'}{'end_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[3]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'contents'}[4]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'extra'}{'node_content'}[0]
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'extra'}{'nodes_manuals'}[0]{'node_content'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'extra'}{'node_content'};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[3]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'};
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'contents'}[2]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'extra'}{'spaces_after_command'}
 = 
$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'split_test_before_first_node_no_empty_line'}{'contents'}[4]{'parent'}
 = $result_trees{'split_test_before_first_node_no_empty_line'};
+
+$result_texis{'split_test_before_first_node_no_empty_line'} = '@setfilename 
split_test_before_first_node.info
+
+truc machin et reuc machin  ze aze zea zae eaz eaz zae
address@hidden Top
address@hidden top
+
+In top node
+
address@hidden
+* chap1::
address@hidden menu
+
address@hidden chap1
address@hidden chap
+
+In chap1.
+
+';
+
+
+$result_texts{'split_test_before_first_node_no_empty_line'} = '
+truc machin et reuc machin  ze aze zea zae eaz eaz zae
+top
+***
+
+In top node
+
+* chap1::
+
+1 chap
+******
+
+In chap1.
+
+';
+
+$result_sectioning{'split_test_before_first_node_no_empty_line'} = {
+  'level' => -1,
+  'section_childs' => [
+    {
+      'cmdname' => 'top',
+      'extra' => {
+        'associated_node' => {
+          'cmdname' => 'node',
+          'extra' => {
+            'normalized' => 'Top'
+          }
+        }
+      },
+      'level' => 0,
+      'section_childs' => [
+        {
+          'cmdname' => 'chapter',
+          'extra' => {
+            'associated_node' => {
+              'cmdname' => 'node',
+              'extra' => {
+                'normalized' => 'chap1'
+              }
+            }
+          },
+          'level' => 1,
+          'number' => 1,
+          'section_up' => {},
+          'toplevel_prev' => {},
+          'toplevel_up' => {}
+        }
+      ],
+      'section_up' => {}
+    }
+  ]
+};
+$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0]{'section_childs'}[0]{'section_up'}
 = 
$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0];
+$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_prev'}
 = 
$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0];
+$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0]{'section_childs'}[0]{'toplevel_up'}
 = 
$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0];
+$result_sectioning{'split_test_before_first_node_no_empty_line'}{'section_childs'}[0]{'section_up'}
 = $result_sectioning{'split_test_before_first_node_no_empty_line'};
+
+$result_nodes{'split_test_before_first_node_no_empty_line'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'associated_section' => {
+      'cmdname' => 'top',
+      'extra' => {},
+      'level' => 0
+    },
+    'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'cmdname' => 'node',
+    'extra' => {
+      'associated_section' => {
+        'cmdname' => 'chapter',
+        'extra' => {},
+        'level' => 1,
+        'number' => 1
+      },
+      'normalized' => 'chap1'
+    },
+    'node_prev' => {},
+    'node_up' => {}
+  },
+  'menus' => [
+    {
+      'cmdname' => 'menu',
+      'extra' => {
+        'end_command' => {
+          'cmdname' => 'end',
+          'extra' => {
+            'command' => {},
+            'command_argument' => 'menu',
+            'text_arg' => 'menu'
+          }
+        }
+      }
+    }
+  ],
+  'node_next' => {},
+  'node_up' => {
+    'extra' => {
+      'manual_content' => [
+        {
+          'text' => 'dir'
+        }
+      ],
+      'top_node_up' => {}
+    },
+    'type' => 'top_node_up'
+  }
+};
+$result_nodes{'split_test_before_first_node_no_empty_line'}{'menu_child'}{'node_prev'}
 = $result_nodes{'split_test_before_first_node_no_empty_line'};
+$result_nodes{'split_test_before_first_node_no_empty_line'}{'menu_child'}{'node_up'}
 = $result_nodes{'split_test_before_first_node_no_empty_line'};
+$result_nodes{'split_test_before_first_node_no_empty_line'}{'menus'}[0]{'extra'}{'end_command'}{'extra'}{'command'}
 = $result_nodes{'split_test_before_first_node_no_empty_line'}{'menus'}[0];
+$result_nodes{'split_test_before_first_node_no_empty_line'}{'node_next'} = 
$result_nodes{'split_test_before_first_node_no_empty_line'}{'menu_child'};
+$result_nodes{'split_test_before_first_node_no_empty_line'}{'node_up'}{'extra'}{'top_node_up'}
 = $result_nodes{'split_test_before_first_node_no_empty_line'};
+
+$result_menus{'split_test_before_first_node_no_empty_line'} = {
+  'cmdname' => 'node',
+  'extra' => {
+    'normalized' => 'Top'
+  },
+  'menu_child' => {
+    'cmdname' => 'node',
+    'extra' => {
+      'normalized' => 'chap1'
+    },
+    'menu_up' => {},
+    'menu_up_hash' => {
+      'Top' => 1
+    }
+  }
+};
+$result_menus{'split_test_before_first_node_no_empty_line'}{'menu_child'}{'menu_up'}
 = $result_menus{'split_test_before_first_node_no_empty_line'};
+
+$result_errors{'split_test_before_first_node_no_empty_line'} = [];
+
+
+1;




reply via email to

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