texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp Texinfo/Structuring.pm t/30sectionin...


From: Patrice Dumas
Subject: texinfo/tp Texinfo/Structuring.pm t/30sectionin...
Date: Sun, 03 Jul 2011 15:19:38 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        11/07/03 15:19:37

Modified files:
        tp/Texinfo     : Structuring.pm 
        tp/t           : 30sectioning.t test_utils.pl 
        tp/t/results/sectioning: chapter_before_and_after_part.pl 
                                 part_before_section.pl 

Log message:
        Add a textual representation of element directions to test comparisons.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Structuring.pm?cvsroot=texinfo&r1=1.65&r2=1.66
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/30sectioning.t?cvsroot=texinfo&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.82&r2=1.83
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/chapter_before_and_after_part.pl?cvsroot=texinfo&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/sectioning/part_before_section.pl?cvsroot=texinfo&r1=1.7&r2=1.8

Patches:
Index: Texinfo/Structuring.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Structuring.pm,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -b -r1.65 -r1.66
--- Texinfo/Structuring.pm      3 Jul 2011 14:45:33 -0000       1.65
+++ Texinfo/Structuring.pm      3 Jul 2011 15:19:37 -0000       1.66
@@ -771,8 +771,10 @@
       my $section = $element->{'extra'}->{'section'};
       foreach my $direction(['Up', 'section_up'], ['Next', 'section_next'],
                             ['Prev', 'section_prev']) {
+        # in most cases $section->{$direction->[1]}->{'parent'} is defined
+        # but it may not be the case for the up of @top.
         $directions->{$direction->[0]} = 
$section->{$direction->[1]}->{'parent'}
-          if ($section->{$direction->[1]});
+          if ($section->{$direction->[1]} and 
$section->{$direction->[1]}->{'parent'});
       }
 
       my $up = $section;
@@ -807,7 +809,8 @@
         and $element->{'extra'}->{'node'}->{'node_up'} 
         and (!$node_top or ($element->{'extra'}->{'node'} ne $node_top))) {
       #print STDERR "Using node for up 
"._print_element_command_texi($element)."\n";
-      $directions->{'Up'} = 
_node_element($element->{'extra'}->{'node'}->{'node_up'});
+      my $up_node_element = 
_node_element($element->{'extra'}->{'node'}->{'node_up'});
+      $directions->{'Up'} = $up_node_element if ($up_node_element);
     }
     if ($element->{'extra'}->{'directions'}) {
       %{$element->{'extra'}->{'directions'}} = 
(%{$element->{'extra'}->{'directions'}}, 

Index: t/30sectioning.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/30sectioning.t,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- t/30sectioning.t    3 Jul 2011 14:45:34 -0000       1.39
+++ t/30sectioning.t    3 Jul 2011 15:19:37 -0000       1.40
@@ -1251,7 +1251,8 @@
 @part part
 
 @chapter chapter 2
-'],
+', {'test_split' => 'section'}
+],
 ['section_before_top_no_node',
 '@section section 
 

Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -b -r1.82 -r1.83
--- t/test_utils.pl     3 Jul 2011 14:50:53 -0000       1.82
+++ t/test_utils.pl     3 Jul 2011 15:19:37 -0000       1.83
@@ -27,7 +27,8 @@
 # FIXME Is it really useful?
 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_floats %result_converted %result_converted_errors 
+   %result_elements %result_directions_text);
 
 my $strings_textdomain = 'texi2html_document';
 Locale::Messages->select_package ('gettext_pp');
@@ -449,7 +450,8 @@
     if ($elements) {
       local $Data::Dumper::Sortkeys = \&filter_elements_keys;
       $out_result .= Data::Dumper->Dump([$elements], 
['$result_elements{\''.$test_name.'\'}']) ."\n\n";
-     # $out_result .= "\n".'$result_directions_text{\''
+      $out_result .= "\n".'$result_directions_text{\''.$test_name.'\'} = \''
+        .protect_perl_string($directions_text)."';\n\n";
     }
     foreach my $format (@tested_formats) {
       if (defined($converted{$format})) {
@@ -531,6 +533,14 @@
          $test_name.' texi');
     ok ($converted_text eq $result_texts{$test_name}, $test_name.' text');
     $tests_count = $nr_comparisons;
+    if (defined($result_directions_text{$test_name})) {
+      cmp_trimmed($elements, $result_elements{$test_name}, 
+                  address@hidden, $test_name.' elements');
+      $tests_count++;
+      ok ($directions_text eq $result_directions_text{$test_name}, 
+          $test_name.' directions text');
+      $tests_count++;
+    }
     if (@tested_formats) {
       foreach my $format (@tested_formats) {
         if (!defined($result_converted{$format})) {

Index: t/results/sectioning/chapter_before_and_after_part.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/sectioning/chapter_before_and_after_part.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- t/results/sectioning/chapter_before_and_after_part.pl       3 Jul 2011 
14:51:02 -0000       1.6
+++ t/results/sectioning/chapter_before_and_after_part.pl       3 Jul 2011 
15:19:37 -0000       1.7
@@ -5,7 +5,8 @@
 
 use utf8;
 
-$result_trees{'chapter_before_and_after_part'} = {
+$result_trees{'chapter_before_and_after_part'} = [
+  {
   'contents' => [
     {
       'contents' => [],
@@ -61,8 +62,17 @@
       },
       'number' => 1,
       'parent' => {}
+      }
+    ],
+    'extra' => {
+      'element_command' => {},
+      'section' => {}
+    },
+    'type' => 'element'
     },
     {
+    'contents' => [
+      {
       'args' => [
         {
           'contents' => [
@@ -156,33 +166,44 @@
       'parent' => {}
     }
   ],
-  'type' => 'document_root'
-};
-$result_trees{'chapter_before_and_after_part'}{'contents'}[0]{'parent'} = 
$result_trees{'chapter_before_and_after_part'};
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[1];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[1];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[1];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'args'}[0]{'contents'}[1];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[1]{'parent'} = 
$result_trees{'chapter_before_and_after_part'};
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'args'}[0]{'contents'}[1];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[2]{'parent'} = 
$result_trees{'chapter_before_and_after_part'};
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[3];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[3];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'extra'}{'associated_part'}
 = $result_trees{'chapter_before_and_after_part'}{'contents'}[2];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'args'}[0]{'contents'}[1];
-$result_trees{'chapter_before_and_after_part'}{'contents'}[3]{'parent'} = 
$result_trees{'chapter_before_and_after_part'};
+    'element_prev' => {},
+    'extra' => {
+      'element_command' => {},
+      'section' => {}
+    },
+    'type' => 'element'
+  }
+];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'chapter_before_and_after_part'}[0];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'chapter_before_and_after_part'}[0];
+$result_trees{'chapter_before_and_after_part'}[0]{'extra'}{'element_command'} 
= $result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[0]{'extra'}{'section'} = 
$result_trees{'chapter_before_and_after_part'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0]{'parent'} = 
$result_trees{'chapter_before_and_after_part'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0]{'parent'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'extra'}{'associated_part'}
 = $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'extra'}{'misc_content'}[0]
 = 
$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1]{'parent'} = 
$result_trees{'chapter_before_and_after_part'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'element_prev'} = 
$result_trees{'chapter_before_and_after_part'}[0];
+$result_trees{'chapter_before_and_after_part'}[1]{'extra'}{'element_command'} 
= $result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1];
+$result_trees{'chapter_before_and_after_part'}[1]{'extra'}{'section'} = 
$result_trees{'chapter_before_and_after_part'}[1]{'contents'}[1];
 
 $result_texis{'chapter_before_and_after_part'} = '@chapter chapter
 
@@ -242,4 +263,64 @@
 $result_errors{'chapter_before_and_after_part'} = [];
 
 
+$result_elements{'chapter_before_and_after_part'} = [
+  {
+    'extra' => {
+      'directions' => {
+        'Forward' => {
+          'extra' => {
+            'directions' => {
+              'Back' => {},
+              'This' => {},
+              'Up' => {}
+            },
+            'element_command' => {
+              'cmdname' => 'chapter',
+              'extra' => {
+                'associated_part' => {
+                  'cmdname' => 'part',
+                  'extra' => {},
+                  'level' => 0
+                }
+              },
+              'level' => 1,
+              'number' => 2
+            },
+            'section' => {}
+          },
+          'type' => 'element'
+        },
+        'This' => {}
+      },
+      'element_command' => {
+        'cmdname' => 'chapter',
+        'extra' => {},
+        'level' => 1,
+        'number' => 1
+      },
+      'section' => {}
+    },
+    'type' => 'element'
+  },
+  {}
+];
+$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'}{'extra'}{'directions'}{'Back'}
 = $result_elements{'chapter_before_and_after_part'}[0];
+$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'}{'extra'}{'directions'}{'This'}
 = 
$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'};
+$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'}{'extra'}{'directions'}{'Up'}
 = 
$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'};
+$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'}{'extra'}{'section'}
 = 
$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'}{'extra'}{'element_command'};
+$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'This'}
 = $result_elements{'chapter_before_and_after_part'}[0];
+$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'section'} = 
$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'element_command'};
+$result_elements{'chapter_before_and_after_part'}[1] = 
$result_elements{'chapter_before_and_after_part'}[0]{'extra'}{'directions'}{'Forward'};
+
+
+
+$result_directions_text{'chapter_before_and_after_part'} = 'element: @chapter 
chapter
+  Forward: @chapter chapter 2
+  This: @chapter chapter
+element: @chapter chapter 2
+  Back: @chapter chapter
+  This: @chapter chapter 2
+  Up: @chapter chapter 2
+';
+
 1;

Index: t/results/sectioning/part_before_section.pl
===================================================================
RCS file: 
/sources/texinfo/texinfo/tp/t/results/sectioning/part_before_section.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- t/results/sectioning/part_before_section.pl 3 Jul 2011 14:51:02 -0000       
1.7
+++ t/results/sectioning/part_before_section.pl 3 Jul 2011 15:19:37 -0000       
1.8
@@ -218,4 +218,10 @@
 $result_elements{'part_before_section'}[0]{'extra'}{'section'} = 
$result_elements{'part_before_section'}[0]{'extra'}{'element_command'};
 
 
+
+$result_directions_text{'part_before_section'} = 'element: @section section
+  This: @section section
+  Up: @section section
+';
+
 1;



reply via email to

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