texinfo-commits
[Top][All Lists]
Advanced

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

texinfo/tp TODO t/02coverage.t t/19def.t t/55co...


From: Patrice Dumas
Subject: texinfo/tp TODO t/02coverage.t t/19def.t t/55co...
Date: Sat, 23 Oct 2010 22:37:43 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/10/23 22:37:43

Modified files:
        tp             : TODO 
        tp/t           : 02coverage.t 19def.t 55conditionals.t 
                         57invalid_nestings.t 
Added files:
        tp/t           : 21multitable.t 
        tp/t/results/conditionals: empty_ifclear.pl empty_ifset.pl 
        tp/t/results/coverage: flushright_not_closed.pl 
                               group_not_closed.pl 
        tp/t/results/def: double_command.pl not_closed.pl 
        tp/t/results/invalid_nestings: formats_not_closed_in_example.pl 
        tp/t/results/multitable: multitable_not_closed.pl 
                                 multitable_not_closed_item.pl 
                                 multitable_not_closed_item_tab.pl 

Log message:
        More unit tests, especially with formats not closed.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.33&r2=1.34
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/02coverage.t?cvsroot=texinfo&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/19def.t?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/55conditionals.t?cvsroot=texinfo&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/57invalid_nestings.t?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/21multitable.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/conditionals/empty_ifclear.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/conditionals/empty_ifset.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/flushright_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/coverage/group_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/double_command.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/def/not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/formats_not_closed_in_example.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/multitable/multitable_not_closed.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/multitable/multitable_not_closed_item.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/multitable/multitable_not_closed_item_tab.pl?cvsroot=texinfo&rev=1.1

Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- TODO        23 Oct 2010 21:52:52 -0000      1.33
+++ TODO        23 Oct 2010 22:37:42 -0000      1.34
@@ -31,6 +31,11 @@
 no warning in
 t/19def.t empty_def_arguments
 
+missing test:
+an end table without correspondiing opening part
address@hidden table
+
+
 Texinfo::Convert::Text
 @c in menu lines (and maybe at other places) should be replaced by 
 \n and not eat the end of line.
@@ -78,3 +83,7 @@
 invalid/copying_not_closed.texi
 invalid/def_bad_defx_command.texi
 invalid/def_braces_and_empty.texi
+invalid/def_cmd_dble.texi
+invalid/empty_ifclear.texi
+invalid/footnote_not_closed.texi
+invalid/formats_not_closed.texi

Index: t/02coverage.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/02coverage.t,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- t/02coverage.t      23 Oct 2010 17:33:22 -0000      1.20
+++ t/02coverage.t      23 Oct 2010 22:37:42 -0000      1.21
@@ -256,6 +256,16 @@
 After quotation sp b a
 
 @end group
+'],
+['flushright_not_closed',
+'@flushright
+
+text flushed right
+'],
+['group_not_closed',
+'@group
+
+text in group
 ']
 );
 

Index: t/19def.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/19def.t,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/19def.t   23 Oct 2010 21:52:53 -0000      1.5
+++ t/19def.t   23 Oct 2010 22:37:42 -0000      1.6
@@ -378,6 +378,20 @@
 ['empty_deftypeop_name',
 '@deftypeop address@hidden address@hidden address@hidden
 @end deftypeop
+'],
+['double_command',
+'@deffn func plot (a, b, c, ...) @deffnx func plot2 (a, b, c, ..., d)
+aaa
address@hidden deffn
+
address@hidden func aaaa args  @defvr c--ategory d--efvr_name
+bbb
address@hidden deffn
+'],
+['not_closed',
+'@deffn truc bidule machin
address@hidden truc chose args
address@hidden type1 var bidule
 ']
 );
 

Index: t/55conditionals.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/55conditionals.t,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- t/55conditionals.t  23 Oct 2010 15:36:53 -0000      1.7
+++ t/55conditionals.t  23 Oct 2010 22:37:42 -0000      1.8
@@ -97,7 +97,22 @@
 @ifnottex
 This is ifnottex text.
 @end ifnottex
-', { 'expanded_formats' => ['info', 'html'] }]
+', { 'expanded_formats' => ['info', 'html'] }],
+['empty_ifclear',
+'@ifclear
+
+Something
+
address@hidden ifclear
+'],
+['empty_ifset',
+'@ifset
+
+Something
+
address@hidden ifset
+'],
+
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/57invalid_nestings.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/57invalid_nestings.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/57invalid_nestings.t      23 Oct 2010 15:36:53 -0000      1.4
+++ t/57invalid_nestings.t      23 Oct 2010 22:37:42 -0000      1.5
@@ -148,8 +148,22 @@
 
 @node Top
 In node
-']
+'],
+['formats_not_closed_in_example',
+'@example
 
address@hidden @minus
address@hidden item
+table line
+
+Some text.
address@hidden
+
address@hidden first item
address@hidden an item
+
address@hidden example
+'],
 );
 
 our ($arg_test_case, $arg_generate, $arg_debug);

Index: t/21multitable.t
===================================================================
RCS file: t/21multitable.t
diff -N t/21multitable.t
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/21multitable.t    23 Oct 2010 22:37:42 -0000      1.1
@@ -0,0 +1,23 @@
+use strict;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+['multitable_not_closed_item_tab',
+'@multitable {r} {t}
address@hidden rt @tab ds
+'],
+['multitable_not_closed_item',
+'@multitable {r} {t}
address@hidden rt 
+'],
+['multitable_not_closed',
+'@multitable {r} {t}
+'],
+);
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('multitable', address@hidden, $arg_test_case,
+   $arg_generate, $arg_debug);
+

Index: t/results/conditionals/empty_ifclear.pl
===================================================================
RCS file: t/results/conditionals/empty_ifclear.pl
diff -N t/results/conditionals/empty_ifclear.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/conditionals/empty_ifclear.pl     23 Oct 2010 22:37:42 -0000      
1.1
@@ -0,0 +1,25 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'empty_ifclear'} = {
+  'contents' => [],
+  'type' => 'text_root'
+};
+
+$result_texis{'empty_ifclear'} = '';
+
+
+$result_texts{'empty_ifclear'} = '';
+
+$result_errors{'empty_ifclear'} = [
+  {
+    'error_line' => ':1: @ifclear requires a name
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@ifclear requires a name',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/conditionals/empty_ifset.pl
===================================================================
RCS file: t/results/conditionals/empty_ifset.pl
diff -N t/results/conditionals/empty_ifset.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/conditionals/empty_ifset.pl       23 Oct 2010 22:37:42 -0000      
1.1
@@ -0,0 +1,25 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'empty_ifset'} = {
+  'contents' => [],
+  'type' => 'text_root'
+};
+
+$result_texis{'empty_ifset'} = '';
+
+
+$result_texts{'empty_ifset'} = '';
+
+$result_errors{'empty_ifset'} = [
+  {
+    'error_line' => ':1: @ifset requires a name
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@ifset requires a name',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/coverage/flushright_not_closed.pl
===================================================================
RCS file: t/results/coverage/flushright_not_closed.pl
diff -N t/results/coverage/flushright_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage/flushright_not_closed.pl 23 Oct 2010 22:37:42 -0000      
1.1
@@ -0,0 +1,65 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'flushright_not_closed'} = {
+  'contents' => [
+    {
+      'cmdname' => 'flushright',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'text flushed right
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'flushright_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'flushright_not_closed'}{'contents'}[0];
+$result_trees{'flushright_not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'flushright_not_closed'}{'contents'}[0];
+$result_trees{'flushright_not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'flushright_not_closed'}{'contents'}[0]{'contents'}[2];
+$result_trees{'flushright_not_closed'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'flushright_not_closed'}{'contents'}[0];
+$result_trees{'flushright_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'flushright_not_closed'};
+
+$result_texis{'flushright_not_closed'} = '@flushright
+
+text flushed right
address@hidden flushright';
+
+
+$result_texts{'flushright_not_closed'} = '
+text flushed right
+';
+
+$result_errors{'flushright_not_closed'} = [
+  {
+    'error_line' => ':3: No matching address@hidden flushright\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'No matching address@hidden flushright\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/coverage/group_not_closed.pl
===================================================================
RCS file: t/results/coverage/group_not_closed.pl
diff -N t/results/coverage/group_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/coverage/group_not_closed.pl      23 Oct 2010 22:37:42 -0000      
1.1
@@ -0,0 +1,65 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'group_not_closed'} = {
+  'contents' => [
+    {
+      'cmdname' => 'group',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'text in group
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'group_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'group_not_closed'}{'contents'}[0];
+$result_trees{'group_not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'group_not_closed'}{'contents'}[0];
+$result_trees{'group_not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'group_not_closed'}{'contents'}[0]{'contents'}[2];
+$result_trees{'group_not_closed'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'group_not_closed'}{'contents'}[0];
+$result_trees{'group_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'group_not_closed'};
+
+$result_texis{'group_not_closed'} = '@group
+
+text in group
address@hidden group';
+
+
+$result_texts{'group_not_closed'} = '
+text in group
+';
+
+$result_errors{'group_not_closed'} = [
+  {
+    'error_line' => ':3: No matching address@hidden group\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'No matching address@hidden group\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/def/double_command.pl
===================================================================
RCS file: t/results/def/double_command.pl
diff -N t/results/def/double_command.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/double_command.pl     23 Oct 2010 22:37:42 -0000      1.1
@@ -0,0 +1,581 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'double_command'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'func plot (a, b, c, ...) '
+                },
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => ' ',
+                          'type' => 'empty_spaces_after_command'
+                        },
+                        {
+                          'parent' => {},
+                          'text' => 'func plot2 (a, b, c, ..., d)
+'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'misc_line_arg'
+                    }
+                  ],
+                  'cmdname' => 'deffnx',
+                  'parent' => {},
+                  'special' => {
+                    'def_args' => [
+                      [
+                        'category',
+                        {
+                          'text' => 'func'
+                        }
+                      ],
+                      [
+                        'spaces',
+                        {
+                          'text' => ' ',
+                          'type' => 'spaces'
+                        }
+                      ],
+                      [
+                        'name',
+                        {
+                          'text' => 'plot2'
+                        }
+                      ],
+                      [
+                        'spaces',
+                        {
+                          'text' => ' ',
+                          'type' => 'spaces'
+                        }
+                      ],
+                      [
+                        'delimiter',
+                        {
+                          'text' => '(',
+                          'type' => 'delimiter'
+                        }
+                      ],
+                      [
+                        'arg',
+                        {
+                          'text' => 'a'
+                        }
+                      ],
+                      [
+                        'delimiter',
+                        {
+                          'text' => ',',
+                          'type' => 'delimiter'
+                        }
+                      ],
+                      [
+                        'spaces',
+                        {
+                          'text' => ' ',
+                          'type' => 'spaces'
+                        }
+                      ],
+                      [
+                        'arg',
+                        {
+                          'text' => 'b'
+                        }
+                      ],
+                      [
+                        'delimiter',
+                        {
+                          'text' => ',',
+                          'type' => 'delimiter'
+                        }
+                      ],
+                      [
+                        'spaces',
+                        {
+                          'text' => ' ',
+                          'type' => 'spaces'
+                        }
+                      ],
+                      [
+                        'arg',
+                        {
+                          'text' => 'c'
+                        }
+                      ],
+                      [
+                        'delimiter',
+                        {
+                          'text' => ',',
+                          'type' => 'delimiter'
+                        }
+                      ],
+                      [
+                        'spaces',
+                        {
+                          'text' => ' ',
+                          'type' => 'spaces'
+                        }
+                      ],
+                      [
+                        'arg',
+                        {
+                          'text' => '...'
+                        }
+                      ],
+                      [
+                        'delimiter',
+                        {
+                          'text' => ',',
+                          'type' => 'delimiter'
+                        }
+                      ],
+                      [
+                        'spaces',
+                        {
+                          'text' => ' ',
+                          'type' => 'spaces'
+                        }
+                      ],
+                      [
+                        'arg',
+                        {
+                          'text' => 'd'
+                        }
+                      ],
+                      [
+                        'delimiter',
+                        {
+                          'text' => ')',
+                          'type' => 'delimiter'
+                        }
+                      ]
+                    ],
+                    'def_command' => 'deffn'
+                  },
+                  'type' => 'def_line'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'func'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'plot'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'delimiter',
+                {
+                  'text' => '(',
+                  'type' => 'delimiter'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'a'
+                }
+              ],
+              [
+                'delimiter',
+                {
+                  'text' => ',',
+                  'type' => 'delimiter'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'b'
+                }
+              ],
+              [
+                'delimiter',
+                {
+                  'text' => ',',
+                  'type' => 'delimiter'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'c'
+                }
+              ],
+              [
+                'delimiter',
+                {
+                  'text' => ',',
+                  'type' => 'delimiter'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => '...'
+                }
+              ],
+              [
+                'delimiter',
+                {
+                  'text' => ')',
+                  'type' => 'delimiter'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'aaa
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line'
+    },
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'func aaaa args  '
+                },
+                {
+                  'cmdname' => 'defvr',
+                  'contents' => [
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => ' ',
+                              'type' => 'empty_spaces_after_command'
+                            },
+                            {
+                              'parent' => {},
+                              'text' => 'c--ategory d--efvr_name
+'
+                            }
+                          ],
+                          'parent' => {},
+                          'type' => 'block_line_arg'
+                        }
+                      ],
+                      'parent' => {},
+                      'special' => {
+                        'def_args' => [
+                          [
+                            'category',
+                            {
+                              'text' => 'c--ategory'
+                            }
+                          ],
+                          [
+                            'spaces',
+                            {
+                              'text' => ' ',
+                              'type' => 'spaces'
+                            }
+                          ],
+                          [
+                            'name',
+                            {
+                              'text' => 'd--efvr_name'
+                            }
+                          ]
+                        ],
+                        'def_command' => 'defvr'
+                      },
+                      'type' => 'def_line'
+                    }
+                  ],
+                  'parent' => {}
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'func'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'aaaa'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => '  ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {}
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => 'bbb
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'paragraph'
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'double_command'}{'contents'}[0]{'contents'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'double_command'}{'contents'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'special'}{'def_args'}[17][1]
 = 
$result_trees{'double_command'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'double_command'}{'contents'}[0]{'contents'}[1];
+$result_trees{'double_command'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'double_command'}{'contents'}[0];
+$result_trees{'double_command'}{'contents'}[0]{'parent'} = 
$result_trees{'double_command'};
+$result_trees{'double_command'}{'contents'}[1]{'parent'} = 
$result_trees{'double_command'};
+$result_trees{'double_command'}{'contents'}[2]{'parent'} = 
$result_trees{'double_command'};
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'double_command'}{'contents'}[3]{'contents'}[0];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'parent'} = 
$result_trees{'double_command'}{'contents'}[3];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'special'}{'def_args'}[6][1]
 = 
$result_trees{'double_command'}{'contents'}[3]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'double_command'}{'contents'}[3]{'contents'}[1];
+$result_trees{'double_command'}{'contents'}[3]{'contents'}[1]{'parent'} = 
$result_trees{'double_command'}{'contents'}[3];
+$result_trees{'double_command'}{'contents'}[3]{'parent'} = 
$result_trees{'double_command'};
+$result_trees{'double_command'}{'contents'}[4]{'parent'} = 
$result_trees{'double_command'};
+
+$result_texis{'double_command'} = '@deffn func plot (a, b, c, ...) @deffnx 
func plot2 (a, b, c, ..., d)
+aaa
address@hidden deffn
+
address@hidden func aaaa args  @defvr c--ategory d--efvr_name
address@hidden defvrbbb
address@hidden deffn
+';
+
+
+$result_texts{'double_command'} = 'func plot (a, b, c, ...) func plot2 (a, b, 
c, ..., d)
+aaa
+
+func aaaa args  c--ategory d--efvr_name
+bbb
+';
+
+$result_errors{'double_command'} = [
+  {
+    'error_line' => ':1: warning: @deffnx should only appear at a line 
beginning
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@deffnx should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: warning: @deffnx should not appear in @deffn
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => '@deffnx should not appear in @deffn',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: Must be after address@hidden' to use address@hidden'
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'Must be after address@hidden' to use address@hidden'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':5: warning: @defvr should only appear at a line beginning
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@defvr should only appear at a line beginning',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: warning: @defvr should not appear in @deffn
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => '@defvr should not appear in @deffn',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':5: Closing @defvr
+',
+    'file_name' => '',
+    'line_nr' => 5,
+    'macro' => '',
+    'text' => 'Closing @defvr',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/def/not_closed.pl
===================================================================
RCS file: t/results/def/not_closed.pl
diff -N t/results/def/not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/def/not_closed.pl 23 Oct 2010 22:37:42 -0000      1.1
@@ -0,0 +1,232 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'not_closed'} = {
+  'contents' => [
+    {
+      'cmdname' => 'deffn',
+      'contents' => [
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc bidule machin
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'bidule'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'machin'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'parent' => {},
+                  'text' => 'truc chose args
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'misc_line_arg'
+            }
+          ],
+          'cmdname' => 'deffnx',
+          'parent' => {},
+          'special' => {
+            'def_args' => [
+              [
+                'category',
+                {
+                  'text' => 'truc'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'name',
+                {
+                  'text' => 'chose'
+                }
+              ],
+              [
+                'spaces',
+                {
+                  'text' => ' ',
+                  'type' => 'spaces'
+                }
+              ],
+              [
+                'arg',
+                {
+                  'text' => 'args'
+                }
+              ]
+            ],
+            'def_command' => 'deffn'
+          },
+          'type' => 'def_line'
+        },
+        {
+          'cmdname' => 'defvar',
+          'contents' => [
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'type1 var bidule
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'block_line_arg'
+                }
+              ],
+              'parent' => {},
+              'special' => {
+                'def_args' => [
+                  [
+                    'category',
+                    {
+                      'text' => 'Variable'
+                    }
+                  ],
+                  [
+                    'spaces',
+                    {
+                      'text' => ' ',
+                      'type' => 'spaces'
+                    }
+                  ],
+                  [
+                    'name',
+                    {
+                      'text' => 'type1'
+                    }
+                  ]
+                ],
+                'def_command' => 'defvar'
+              },
+              'type' => 'def_line'
+            }
+          ],
+          'parent' => {}
+        }
+      ],
+      'parent' => {}
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} 
= $result_trees{'not_closed'}{'contents'}[0]{'contents'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'not_closed'}{'contents'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} 
= $result_trees{'not_closed'}{'contents'}[0]{'contents'}[1];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'not_closed'}{'contents'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'not_closed'}{'contents'}[0]{'contents'}[2];
+$result_trees{'not_closed'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'not_closed'}{'contents'}[0];
+$result_trees{'not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'not_closed'};
+
+$result_texis{'not_closed'} = '@deffn truc bidule machin
address@hidden truc chose args
address@hidden type1 var bidule
address@hidden address@hidden deffn';
+
+
+$result_texts{'not_closed'} = 'truc bidule machin
+truc chose args
+type1 var bidule
+';
+
+$result_errors{'not_closed'} = [
+  {
+    'error_line' => ':3: No matching address@hidden defvar\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'No matching address@hidden defvar\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':3: No matching address@hidden deffn\'
+',
+    'file_name' => '',
+    'line_nr' => 3,
+    'macro' => '',
+    'text' => 'No matching address@hidden deffn\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/invalid_nestings/formats_not_closed_in_example.pl
===================================================================
RCS file: t/results/invalid_nestings/formats_not_closed_in_example.pl
diff -N t/results/invalid_nestings/formats_not_closed_in_example.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/formats_not_closed_in_example.pl 23 Oct 2010 
22:37:42 -0000      1.1
@@ -0,0 +1,249 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'formats_not_closed_in_example'} = {
+  'contents' => [
+    {
+      'cmdname' => 'example',
+      'contents' => [
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line_after_command'
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'cmdname' => 'minus',
+                  'parent' => {},
+                  'type' => 'command_as_argument'
+                },
+                {
+                  'parent' => {},
+                  'text' => '
+'
+                }
+              ],
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'table',
+          'contents' => [
+            {
+              'contents' => [],
+              'parent' => {},
+              'type' => 'before_item'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'item'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'spaces_at_end'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'misc_line_arg'
+                }
+              ],
+              'cmdname' => 'item',
+              'parent' => {}
+            },
+            {
+              'parent' => {},
+              'text' => 'table line
+'
+            },
+            {
+              'parent' => {},
+              'text' => '
+',
+              'type' => 'empty_line'
+            },
+            {
+              'parent' => {},
+              'text' => 'Some text.
+'
+            },
+            {
+              'cmdname' => 'enumerate',
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => '
+',
+                  'type' => 'empty_line_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'empty_line'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'before_item'
+                },
+                {
+                  'cmdname' => 'item',
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'first item
+'
+                    }
+                  ],
+                  'parent' => {}
+                },
+                {
+                  'cmdname' => 'item',
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => ' ',
+                      'type' => 'empty_spaces_after_command'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => 'an item
+'
+                    },
+                    {
+                      'parent' => {},
+                      'text' => '
+',
+                      'type' => 'empty_line'
+                    }
+                  ],
+                  'parent' => {}
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'parent' => {}
+        }
+      ],
+      'parent' => {}
+    },
+    {
+      'parent' => {},
+      'text' => '
+',
+      'type' => 'empty_line_after_command'
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[3]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[4]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[1];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[2]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[2]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[2]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3]{'contents'}[1]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3]{'contents'}[2]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'contents'}[3]{'parent'}
 = 
$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'contents'}[5]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'formats_not_closed_in_example'}{'contents'}[0];
+$result_trees{'formats_not_closed_in_example'}{'contents'}[0]{'parent'} = 
$result_trees{'formats_not_closed_in_example'};
+$result_trees{'formats_not_closed_in_example'}{'contents'}[1]{'parent'} = 
$result_trees{'formats_not_closed_in_example'};
+
+$result_texis{'formats_not_closed_in_example'} = '@example
+
address@hidden @minus
address@hidden item
+table line
+
+Some text.
address@hidden
+
address@hidden first item
address@hidden an item
+
address@hidden address@hidden address@hidden example
+';
+
+
+$result_texts{'formats_not_closed_in_example'} = '
+item
+table line
+
+Some text.
+
+first item
+an item
+
+';
+
+$result_errors{'formats_not_closed_in_example'} = [
+  {
+    'error_line' => ':13: address@hidden' expected `enumerate\', but saw 
`example\'
+',
+    'file_name' => '',
+    'line_nr' => 13,
+    'macro' => '',
+    'text' => 'address@hidden' expected `enumerate\', but saw `example\'',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':13: address@hidden' expected `table\', but saw `example\'
+',
+    'file_name' => '',
+    'line_nr' => 13,
+    'macro' => '',
+    'text' => 'address@hidden' expected `table\', but saw `example\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/multitable/multitable_not_closed.pl
===================================================================
RCS file: t/results/multitable/multitable_not_closed.pl
diff -N t/results/multitable/multitable_not_closed.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/multitable/multitable_not_closed.pl       23 Oct 2010 22:37:43 
-0000      1.1
@@ -0,0 +1,99 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'multitable_not_closed'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'r'
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 't'
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'multitable',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'max_columns' => 2,
+        'prototypes' => [
+          {},
+          {}
+        ]
+      }
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'parent'} = 
$result_trees{'multitable_not_closed'}{'contents'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'multitable_not_closed'}{'contents'}[0];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'parent'} = 
$result_trees{'multitable_not_closed'};
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'special'}{'prototypes'}[0]
 = 
$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed'}{'contents'}[0]{'special'}{'prototypes'}[1]
 = 
$result_trees{'multitable_not_closed'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+
+$result_texis{'multitable_not_closed'} = '@multitable {r} {t}
address@hidden multitable';
+
+
+$result_texts{'multitable_not_closed'} = '';
+
+$result_errors{'multitable_not_closed'} = [
+  {
+    'error_line' => ':1: No matching address@hidden multitable\'
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'No matching address@hidden multitable\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/multitable/multitable_not_closed_item.pl
===================================================================
RCS file: t/results/multitable/multitable_not_closed_item.pl
diff -N t/results/multitable/multitable_not_closed_item.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/multitable/multitable_not_closed_item.pl  23 Oct 2010 22:37:43 
-0000      1.1
@@ -0,0 +1,137 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'multitable_not_closed_item'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'r'
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 't'
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'multitable',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'contents' => [
+            {
+              'cmdname' => 'item',
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'rt 
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'cell_number' => 1
+          },
+          'type' => 'row'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'max_columns' => 2,
+        'prototypes' => [
+          {},
+          {}
+        ]
+      }
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multitable_not_closed_item'}{'contents'}[0];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'parent'} = 
$result_trees{'multitable_not_closed_item'};
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'special'}{'prototypes'}[0]
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'special'}{'prototypes'}[1]
 = 
$result_trees{'multitable_not_closed_item'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+
+$result_texis{'multitable_not_closed_item'} = '@multitable {r} {t}
address@hidden rt 
address@hidden multitable';
+
+
+$result_texts{'multitable_not_closed_item'} = 'rt 
+';
+
+$result_errors{'multitable_not_closed_item'} = [
+  {
+    'error_line' => ':2: No matching address@hidden multitable\'
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => 'No matching address@hidden multitable\'',
+    'type' => 'error'
+  }
+];
+
+

Index: t/results/multitable/multitable_not_closed_item_tab.pl
===================================================================
RCS file: t/results/multitable/multitable_not_closed_item_tab.pl
diff -N t/results/multitable/multitable_not_closed_item_tab.pl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ t/results/multitable/multitable_not_closed_item_tab.pl      23 Oct 2010 
22:37:43 -0000      1.1
@@ -0,0 +1,162 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'multitable_not_closed_item_tab'} = {
+  'contents' => [
+    {
+      'args' => [
+        {
+          'contents' => [
+            {
+              'parent' => {},
+              'text' => ' ',
+              'type' => 'empty_spaces_after_command'
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 'r'
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => ' '
+            },
+            {
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => 't'
+                }
+              ],
+              'parent' => {},
+              'type' => 'bracketed'
+            },
+            {
+              'parent' => {},
+              'text' => '
+'
+            }
+          ],
+          'parent' => {},
+          'type' => 'block_line_arg'
+        }
+      ],
+      'cmdname' => 'multitable',
+      'contents' => [
+        {
+          'contents' => [],
+          'parent' => {},
+          'type' => 'before_item'
+        },
+        {
+          'contents' => [
+            {
+              'cmdname' => 'item',
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'rt '
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'parent' => {}
+            },
+            {
+              'cmdname' => 'tab',
+              'contents' => [
+                {
+                  'parent' => {},
+                  'text' => ' ',
+                  'type' => 'empty_spaces_after_command'
+                },
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'ds
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'parent' => {}
+            }
+          ],
+          'parent' => {},
+          'special' => {
+            'cell_number' => 2
+          },
+          'type' => 'row'
+        }
+      ],
+      'parent' => {},
+      'special' => {
+        'max_columns' => 2,
+        'prototypes' => [
+          {},
+          {}
+        ]
+      }
+    }
+  ],
+  'type' => 'text_root'
+};
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'multitable_not_closed_item_tab'}{'contents'}[0];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'parent'} = 
$result_trees{'multitable_not_closed_item_tab'};
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'special'}{'prototypes'}[0]
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'special'}{'prototypes'}[1]
 = 
$result_trees{'multitable_not_closed_item_tab'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+
+$result_texis{'multitable_not_closed_item_tab'} = '@multitable {r} {t}
address@hidden rt @tab ds
address@hidden multitable';
+
+
+$result_texts{'multitable_not_closed_item_tab'} = 'rt ds
+';
+
+$result_errors{'multitable_not_closed_item_tab'} = [
+  {
+    'error_line' => ':2: No matching address@hidden multitable\'
+',
+    'file_name' => '',
+    'line_nr' => 2,
+    'macro' => '',
+    'text' => 'No matching address@hidden multitable\'',
+    'type' => 'error'
+  }
+];
+
+



reply via email to

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