[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp Texinfo/Parser.pm t/18itemize.t t/57...
From: |
Patrice Dumas |
Subject: |
texinfo/tp Texinfo/Parser.pm t/18itemize.t t/57... |
Date: |
Sat, 23 Oct 2010 14:02:21 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 10/10/23 14:02:21
Modified files:
tp/Texinfo : Parser.pm
tp/t : 18itemize.t 57invalid_nestings.t
tp/t/results/include: double_include.pl
Added files:
tp/t/results/invalid_nestings: accents.pl center.pl
on_itemize_line.pl
tp/t/results/itemize: lone_end_itemize.pl not_closed_item.pl
not_closed_itemize.pl
Log message:
Close nested line @-commands as soon as possible.
Warn if a lone @end appears.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.92&r2=1.93
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/18itemize.t?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/57invalid_nestings.t?cvsroot=texinfo&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/include/double_include.pl?cvsroot=texinfo&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/accents.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/center.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/invalid_nestings/on_itemize_line.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/itemize/lone_end_itemize.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/itemize/not_closed_item.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/itemize/not_closed_itemize.pl?cvsroot=texinfo&rev=1.1
Patches:
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -b -r1.92 -r1.93
--- Texinfo/Parser.pm 23 Oct 2010 10:50:12 -0000 1.92
+++ Texinfo/Parser.pm 23 Oct 2010 14:02:21 -0000 1.93
@@ -518,6 +518,8 @@
foreach my $brace_command(keys(%brace_commands)) {
$in_accent_commands{$brace_command} = 1 if
(!$brace_commands{$brace_command});
}
+$in_accent_commands{'c'} = 1;
+$in_accent_commands{'comment'} = 1;
# commands that may appear in texts arguments
my %in_full_text_commands = %no_brace_commands;
@@ -989,6 +991,10 @@
($preformatted_commands{$current->{'cmdname'}}
or $menu_commands{$current->{'cmdname'}});
$current = $current->{'parent'}
+ } elsif ($command) {
+ _line_error ($self,
+ sprintf($self->__("Unmatched `%c%s'"),
+ ord('@'), "end $command"), $line_nr);
}
return $current;
}
@@ -1414,6 +1420,7 @@
}
# close constructs and do stuff at end of line (or end of the document)
+sub _end_line($$$);
sub _end_line($$$)
{
my $self = shift;
@@ -1535,6 +1542,9 @@
} elsif ($current->{'type'}
and $current->{'type'} eq 'block_line_arg') {
my $empty_text;
+ my $context = pop @{$self->{'context_stack'}};
+ print STDERR "BUG: $context in block_line_arg ne line\n"
+ if ($context ne 'line');
# @multitable args
if ($current->{'parent'} and $current->{'parent'}->{'cmdname'}
and $current->{'parent'}->{'cmdname'} eq 'multitable') {
@@ -1595,6 +1605,9 @@
# misc command line arguments
} elsif ($current->{'type'}
and $current->{'type'} eq 'misc_line_arg') {
+ my $context = pop @{$self->{'context_stack'}};
+ print STDERR "BUG: $context in misc_line_arg ne line\n"
+ if ($context ne 'line');
$self->_isolate_last_space($current);
# first parent is the @command, second is the parent
@@ -1658,6 +1671,10 @@
_line_error ($self, sprintf($self->__("address@hidden only meaningful
on a address@hidden line"),
$command), $line_nr);
} else {
+ # This is the multitable block_line_arg line context
+ my $context = pop @{$self->{'context_stack'}};
+ print STDERR "BUG: $context in misc_line_arg ne line\n"
+ if ($context ne 'line');
$current = $current->{'parent'};
$current->{'special'}->{'max_columns'} = 0;
$current->{'special'}->{'max_columns'} =
@@ -1687,6 +1704,34 @@
unshift @{$current->{'parent'}->{'contents'}}, $empty_line;
}
}
+ if ($self->{'context_stack'}->[-1] eq 'line'
+ or $self->{'context_stack'}->[-1] eq 'def') {
+ print STDERR "Still opened line command
$self->{'context_stack'}->[-1]:"._print_current($current)
+ if ($self->{'debug'});
+ if ($self->{'context_stack'}->[-1] eq 'def') {
+ while ($current->{'parent'} and !($current->{'parent'}->{'parent'}
+ and $current->{'parent'}->{'parent'}->{'type'}
+ and $current->{'parent'}->{'parent'}->{'type'} eq 'def_line')) {
+ _line_error($self, sprintf($self->__("Closing address@hidden"),
+ $current->{'cmdname'}), $line_nr)
+ if (exists $current->{'cmdname'});
+ $current = $current->{'parent'};
+ }
+ } else {
+ while ($current->{'parent'} and !($current->{'type'}
+ and ($current->{'type'} eq 'brace_line_arg'
+ or $current->{'type'} eq 'misc_line_arg'))) {
+ _line_error($self, sprintf($self->__("Closing address@hidden"),
+ $current->{'cmdname'}), $line_nr)
+ if (exists $current->{'cmdname'});
+ $current = $current->{'parent'};
+ }
+ }
+
+ my $other_included_file = 0;
+ ($current, $other_included_file) = $self->_end_line($current, $line_nr);
+ $included_file = $included_file + $other_included_file;
+ }
return ($current, $included_file);
}
@@ -2387,6 +2432,8 @@
# be very wise...
$current->{'remaining_args'} = 3 if ($command eq 'node');
$current = $current->{'args'}->[-1];
+ push @{$self->{'context_stack'}}, 'line'
+ unless ($def_commands{$command});
}
$line = _start_empty_line_after_command($line, $current);
}
@@ -2476,6 +2523,8 @@
if ($block_commands{$command} =~ /^\d+$/
and $block_commands{$command} -1);
$current = $current->{'args'}->[-1];
+ push @{$self->{'context_stack'}}, 'line'
+ unless ($def_commands{$command});
} else {
push @{$self->{'context_stack'}}, 'preformatted'
if ($preformatted_commands{$command});
Index: t/18itemize.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/18itemize.t,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/18itemize.t 5 Oct 2010 22:41:39 -0000 1.2
+++ t/18itemize.t 23 Oct 2010 14:02:21 -0000 1.3
@@ -20,6 +20,16 @@
@itemize @~
@item item
@end itemize
+'],
+['not_closed_item',
+'@itemize
address@hidden in item
+'],
+['not_closed_itemize',
+'@itemize
+'],
+['lone_end_itemize',
+'@end itemize
']
);
Index: t/57invalid_nestings.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/57invalid_nestings.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- t/57invalid_nestings.t 23 Oct 2010 10:50:12 -0000 1.1
+++ t/57invalid_nestings.t 23 Oct 2010 14:02:21 -0000 1.2
@@ -27,8 +27,32 @@
in address@hidden in item}
@end table
'],
+['on_itemize_line',
+'@itemize @indent @titlefont{in titlefont} @anchor{in address@hidden @exdent
exdent
address@hidden in item.
address@hidden itemize
+
address@hidden on line @item in item
address@hidden itemize
+'],
['on_index_entry_line',
'@cindex @indent @titlefont{in titlefont} @anchor{in address@hidden @exdent
exdent
+'],
+['center',
+'@center @indent @titlefont{in titlefont} @anchor{in address@hidden
+
address@hidden center @cindex cindex
+
address@hidden @quotation
+in quotation
address@hidden quotation
+'],
+['accents',
+'Valid
address@hidden@TeX{}}. @~{@@}.
+
+Invalid
address@hidden@code{a}}. @address@hidden
']
);
Index: t/results/include/double_include.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/include/double_include.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- t/results/include/double_include.pl 23 Oct 2010 10:22:22 -0000 1.5
+++ t/results/include/double_include.pl 23 Oct 2010 14:02:21 -0000 1.6
@@ -9,51 +9,38 @@
'type' => 'empty_line'
},
{
- 'args' => [
- {
'contents' => [
{
'parent' => {},
- 'text' => ' ',
- 'type' => 'empty_spaces_after_command'
- },
- {
- 'parent' => {},
- 'text' => 'inc_file.texi In included file.'
+ 'text' => 'In included file.
+'
},
{
'parent' => {},
- 'text' => '
-',
- 'type' => 'spaces_at_end'
- }
- ],
- 'parent' => {},
- 'type' => 'misc_line_arg'
+ 'text' => 'In included file.
+'
}
],
- 'cmdname' => 'include',
'parent' => {},
- 'special' => {
- 'text_arg' => 'inc_file.texi In included file.'
- }
+ 'type' => 'paragraph'
}
],
'type' => 'text_root'
};
$result_trees{'double_include'}{'contents'}[0]{'parent'} =
$result_trees{'double_include'};
-$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'double_include'}{'contents'}[1]{'args'}[0];
-$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'double_include'}{'contents'}[1]{'args'}[0];
-$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'}
= $result_trees{'double_include'}{'contents'}[1]{'args'}[0];
-$result_trees{'double_include'}{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'double_include'}{'contents'}[1];
+$result_trees{'double_include'}{'contents'}[1]{'contents'}[0]{'parent'} =
$result_trees{'double_include'}{'contents'}[1];
+$result_trees{'double_include'}{'contents'}[1]{'contents'}[1]{'parent'} =
$result_trees{'double_include'}{'contents'}[1];
$result_trees{'double_include'}{'contents'}[1]{'parent'} =
$result_trees{'double_include'};
$result_texis{'double_include'} = '
address@hidden inc_file.texi In included file.
+In included file.
+In included file.
';
$result_texts{'double_include'} = '
+In included file.
+In included file.
';
$result_errors{'double_include'} = [
@@ -74,15 +61,6 @@
'macro' => '',
'text' => '@include should not appear in @include',
'type' => 'warning'
- },
- {
- 'error_line' => 'inc_file.texi:2: @include: Cannot find inc_file.texi In
included file.
-',
- 'file_name' => 't/include//inc_file.texi',
- 'line_nr' => 2,
- 'macro' => '',
- 'text' => '@include: Cannot find inc_file.texi In included file.',
- 'type' => 'error'
}
];
Index: t/results/invalid_nestings/accents.pl
===================================================================
RCS file: t/results/invalid_nestings/accents.pl
diff -N t/results/invalid_nestings/accents.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/accents.pl 23 Oct 2010 14:02:21 -0000
1.1
@@ -0,0 +1,219 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'accents'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Valid
+'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'TeX',
+ 'contents' => [],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => '~',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '. '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'cmdname' => '@',
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => '~',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Invalid
+'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'a'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'code',
+ 'contents' => [],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => '~',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '. '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'truc'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'anchor',
+ 'contents' => [],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => '^',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'accents'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'accents'}{'contents'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
=
$result_trees{'accents'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'accents'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'accents'}{'contents'}[0]{'contents'}[1];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'accents'}{'contents'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[2]{'parent'} =
$result_trees{'accents'}{'contents'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'accents'}{'contents'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[3]{'args'}[0]{'parent'} =
$result_trees{'accents'}{'contents'}[0]{'contents'}[3];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[3]{'parent'} =
$result_trees{'accents'}{'contents'}[0];
+$result_trees{'accents'}{'contents'}[0]{'contents'}[4]{'parent'} =
$result_trees{'accents'}{'contents'}[0];
+$result_trees{'accents'}{'contents'}[0]{'parent'} = $result_trees{'accents'};
+$result_trees{'accents'}{'contents'}[1]{'parent'} = $result_trees{'accents'};
+$result_trees{'accents'}{'contents'}[2]{'contents'}[0]{'parent'} =
$result_trees{'accents'}{'contents'}[2];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
=
$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'accents'}{'contents'}[2]{'contents'}[1];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[1]{'parent'} =
$result_trees{'accents'}{'contents'}[2];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[2]{'parent'} =
$result_trees{'accents'}{'contents'}[2];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
=
$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'args'}[0]{'parent'} =
$result_trees{'accents'}{'contents'}[2]{'contents'}[3];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[3]{'parent'} =
$result_trees{'accents'}{'contents'}[2];
+$result_trees{'accents'}{'contents'}[2]{'contents'}[4]{'parent'} =
$result_trees{'accents'}{'contents'}[2];
+$result_trees{'accents'}{'contents'}[2]{'parent'} = $result_trees{'accents'};
+
+$result_texis{'accents'} = 'Valid
address@hidden@TeX{}}. @~{@@}.
+
+Invalid
address@hidden@code{a}}. @address@hidden
+';
+
+
+$result_texts{'accents'} = 'Valid
+TeX~. @~.
+
+Invalid
+a~. ^.
+';
+
+$result_errors{'accents'} = [
+ {
+ 'error_line' => ':5: warning: @code should not appear in @~
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@code should not appear in @~',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':5: warning: @anchor should not appear in @^
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@anchor should not appear in @^',
+ 'type' => 'warning'
+ }
+];
+
+
Index: t/results/invalid_nestings/center.pl
===================================================================
RCS file: t/results/invalid_nestings/center.pl
diff -N t/results/invalid_nestings/center.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/center.pl 23 Oct 2010 14:02:21 -0000
1.1
@@ -0,0 +1,306 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'center'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'cmdname' => 'indent',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in titlefont'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'titlefont',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in anchor'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'anchor',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'footnote'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'cmdname' => 'footnote',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'spaces_at_end'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'center',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'center'
+ },
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'spaces_at_end'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'cindex'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'spaces_at_end'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'cindex',
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'center',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'cmdname' => 'quotation',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'center',
+ 'parent' => {}
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in quotation
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[5];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'contents'}[7]{'parent'} =
$result_trees{'center'}{'contents'}[0]{'args'}[0];
+$result_trees{'center'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[0];
+$result_trees{'center'}{'contents'}[0]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[1]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[2]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[1]{'parent'} =
$result_trees{'center'}{'contents'}[2]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[2]{'parent'} =
$result_trees{'center'}{'contents'}[2]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
= $result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'contents'}[3]{'parent'} =
$result_trees{'center'}{'contents'}[2]{'args'}[0];
+$result_trees{'center'}{'contents'}[2]{'args'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[2];
+$result_trees{'center'}{'contents'}[2]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[3]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[4]{'args'}[0];
+$result_trees{'center'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'center'}{'contents'}[4]{'args'}[0]{'contents'}[1];
+$result_trees{'center'}{'contents'}[4]{'args'}[0]{'contents'}[1]{'parent'} =
$result_trees{'center'}{'contents'}[4]{'args'}[0];
+$result_trees{'center'}{'contents'}[4]{'args'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[4];
+$result_trees{'center'}{'contents'}[4]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[5]{'contents'}[0]{'parent'} =
$result_trees{'center'}{'contents'}[5];
+$result_trees{'center'}{'contents'}[5]{'parent'} = $result_trees{'center'};
+$result_trees{'center'}{'contents'}[6]{'parent'} = $result_trees{'center'};
+
+$result_texis{'center'} = '@center @indent @titlefont{in titlefont} @anchor{in
address@hidden
+
address@hidden center @cindex cindex
+
address@hidden @quotation
address@hidden quotationin quotation
+
+';
+
+
+$result_texts{'center'} = 'in titlefont
+
+center
+
+
+in quotation
+';
+
+$result_errors{'center'} = [
+ {
+ 'error_line' => ':3: warning: @cindex should not appear in @center
+',
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => '',
+ 'text' => '@cindex should not appear in @center',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':5: warning: @quotation should not appear in @center
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@quotation should not appear in @center',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':5: Closing @quotation
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => 'Closing @quotation',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => ':7: Unmatched address@hidden quotation\'
+',
+ 'file_name' => '',
+ 'line_nr' => 7,
+ 'macro' => '',
+ 'text' => 'Unmatched address@hidden quotation\'',
+ 'type' => 'error'
+ }
+];
+
+
Index: t/results/invalid_nestings/on_itemize_line.pl
===================================================================
RCS file: t/results/invalid_nestings/on_itemize_line.pl
diff -N t/results/invalid_nestings/on_itemize_line.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/invalid_nestings/on_itemize_line.pl 23 Oct 2010 14:02:21
-0000 1.1
@@ -0,0 +1,321 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'on_itemize_line'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'cmdname' => 'indent',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in titlefont'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'titlefont',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in anchor'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'anchor',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'footnote'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'cmdname' => 'footnote',
+ 'contents' => [],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'cmdname' => 'exdent',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'exdent
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'itemize',
+ 'contents' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'before_item'
+ },
+ {
+ 'cmdname' => 'item',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in item.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'on line '
+ },
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'in item
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'cmdname' => 'itemize',
+ 'contents' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'before_item'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[2]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[3];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[4]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'args'}[0]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[5];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[5]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'args'}[0]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[6]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[7]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[8]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[9]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'contents'}[10]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'on_itemize_line'}{'contents'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'on_itemize_line'}{'contents'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'contents'}[0]{'parent'}
=
$result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1]{'contents'}[1];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1]{'contents'}[1]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'on_itemize_line'}{'contents'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[0]{'parent'} =
$result_trees{'on_itemize_line'};
+$result_trees{'on_itemize_line'}{'contents'}[1]{'parent'} =
$result_trees{'on_itemize_line'};
+$result_trees{'on_itemize_line'}{'contents'}[2]{'parent'} =
$result_trees{'on_itemize_line'};
+$result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0]{'contents'}[2]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0]{'contents'}[3]{'parent'}
= $result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0];
+$result_trees{'on_itemize_line'}{'contents'}[3]{'args'}[0]{'parent'} =
$result_trees{'on_itemize_line'}{'contents'}[3];
+$result_trees{'on_itemize_line'}{'contents'}[3]{'contents'}[0]{'parent'} =
$result_trees{'on_itemize_line'}{'contents'}[3];
+$result_trees{'on_itemize_line'}{'contents'}[3]{'parent'} =
$result_trees{'on_itemize_line'};
+$result_trees{'on_itemize_line'}{'contents'}[4]{'parent'} =
$result_trees{'on_itemize_line'};
+
+$result_texis{'on_itemize_line'} = '@itemize @indent @titlefont{in titlefont}
@anchor{in address@hidden @exdent exdent
address@hidden in item.
address@hidden itemize
+
address@hidden on line in item
address@hidden itemize
+';
+
+
+$result_texts{'on_itemize_line'} = 'in item.
+
+';
+
+$result_errors{'on_itemize_line'} = [
+ {
+ 'error_line' => ':1: warning: @indent should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@indent should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':1: warning: @titlefont should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@titlefont should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':1: warning: @anchor should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@anchor should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':1: warning: @footnote should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@footnote should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':1: warning: @exdent should only appear at a line
beginning
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@exdent should only appear at a line beginning',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':1: warning: @exdent should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => '@exdent should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':5: warning: @item should not appear in @itemize
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@item should not appear in @itemize',
+ 'type' => 'warning'
+ },
+ {
+ 'error_line' => ':5: @item outside of table or list
+',
+ 'file_name' => '',
+ 'line_nr' => 5,
+ 'macro' => '',
+ 'text' => '@item outside of table or list',
+ 'type' => 'error'
+ }
+];
+
+
Index: t/results/itemize/lone_end_itemize.pl
===================================================================
RCS file: t/results/itemize/lone_end_itemize.pl
diff -N t/results/itemize/lone_end_itemize.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/itemize/lone_end_itemize.pl 23 Oct 2010 14:02:21 -0000
1.1
@@ -0,0 +1,34 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'lone_end_itemize'} = {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'lone_end_itemize'}{'contents'}[0]{'parent'} =
$result_trees{'lone_end_itemize'};
+
+$result_texis{'lone_end_itemize'} = '
+';
+
+
+$result_texts{'lone_end_itemize'} = '';
+
+$result_errors{'lone_end_itemize'} = [
+ {
+ 'error_line' => ':1: Unmatched address@hidden itemize\'
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => 'Unmatched address@hidden itemize\'',
+ 'type' => 'error'
+ }
+];
+
+
Index: t/results/itemize/not_closed_item.pl
===================================================================
RCS file: t/results/itemize/not_closed_item.pl
diff -N t/results/itemize/not_closed_item.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/itemize/not_closed_item.pl 23 Oct 2010 14:02:21 -0000
1.1
@@ -0,0 +1,75 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'not_closed_item'} = {
+ 'contents' => [
+ {
+ 'cmdname' => 'itemize',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'before_item'
+ },
+ {
+ 'cmdname' => 'item',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'empty_spaces_after_command'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in item
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'not_closed_item'}{'contents'}[0];
+$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'not_closed_item'}{'contents'}[0];
+$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
= $result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2];
+$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
=
$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
+$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
= $result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2];
+$result_trees{'not_closed_item'}{'contents'}[0]{'contents'}[2]{'parent'} =
$result_trees{'not_closed_item'}{'contents'}[0];
+$result_trees{'not_closed_item'}{'contents'}[0]{'parent'} =
$result_trees{'not_closed_item'};
+
+$result_texis{'not_closed_item'} = '@itemize
address@hidden in item
address@hidden itemize';
+
+
+$result_texts{'not_closed_item'} = 'in item
+';
+
+$result_errors{'not_closed_item'} = [
+ {
+ 'error_line' => ':2: No matching address@hidden itemize\'
+',
+ 'file_name' => '',
+ 'line_nr' => 2,
+ 'macro' => '',
+ 'text' => 'No matching address@hidden itemize\'',
+ 'type' => 'error'
+ }
+];
+
+
Index: t/results/itemize/not_closed_itemize.pl
===================================================================
RCS file: t/results/itemize/not_closed_itemize.pl
diff -N t/results/itemize/not_closed_itemize.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/itemize/not_closed_itemize.pl 23 Oct 2010 14:02:21 -0000
1.1
@@ -0,0 +1,47 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors);
+
+$result_trees{'not_closed_itemize'} = {
+ 'contents' => [
+ {
+ 'cmdname' => 'itemize',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'before_item'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'not_closed_itemize'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'not_closed_itemize'}{'contents'}[0];
+$result_trees{'not_closed_itemize'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'not_closed_itemize'}{'contents'}[0];
+$result_trees{'not_closed_itemize'}{'contents'}[0]{'parent'} =
$result_trees{'not_closed_itemize'};
+
+$result_texis{'not_closed_itemize'} = '@itemize
address@hidden itemize';
+
+
+$result_texts{'not_closed_itemize'} = '';
+
+$result_errors{'not_closed_itemize'} = [
+ {
+ 'error_line' => ':1: No matching address@hidden itemize\'
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => 'No matching address@hidden itemize\'',
+ 'type' => 'error'
+ }
+];
+
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp Texinfo/Parser.pm t/18itemize.t t/57...,
Patrice Dumas <=