[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp TODO Texinfo/Parser.pm t/60macro.t t...
From: |
Patrice Dumas |
Subject: |
texinfo/tp TODO Texinfo/Parser.pm t/60macro.t t... |
Date: |
Sun, 03 Oct 2010 11:51:37 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 10/10/03 11:51:37
Modified files:
tp : TODO
tp/Texinfo : Parser.pm
tp/t : 60macro.t test_utils.pl
tp/t/results/macro: macro_expansion.pl
Added files:
tp/t : 55conditionals.t README
tp/t/results/conditionals: not_set.pl
tp/t/results/macro: arg_body_expansion_order.pl
expansion_order.pl ifclear_in_macro.pl
ifset_in_macro.pl ifset_in_macro_set.pl
macro_in_ifset.pl
macro_in_ifset_end_in_arg.pl
too_much_args.pl
Log message:
Fix handling of ifset.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Parser.pm?cvsroot=texinfo&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/60macro.t?cvsroot=texinfo&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/55conditionals.t?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/README?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/conditionals/not_set.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_expansion.pl?cvsroot=texinfo&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/arg_body_expansion_order.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/expansion_order.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/ifclear_in_macro.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/ifset_in_macro.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/ifset_in_macro_set.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_in_ifset.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/macro_in_ifset_end_in_arg.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/macro/too_much_args.pl?cvsroot=texinfo&rev=1.1
Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- TODO 2 Oct 2010 13:25:07 -0000 1.4
+++ TODO 3 Oct 2010 11:51:36 -0000 1.5
@@ -18,8 +18,5 @@
Test @set with an argument but no space following it. In ifset tests.
-test something @macro
-qsmlsmqldk
address@hidden macro sqjsqdlkjhdsq
-
+parse @sp a bit more.
Index: Texinfo/Parser.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Parser.pm,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- Texinfo/Parser.pm 2 Oct 2010 17:22:52 -0000 1.37
+++ Texinfo/Parser.pm 3 Oct 2010 11:51:36 -0000 1.38
@@ -1057,7 +1057,9 @@
local $Data::Dumper::Indent = 1;
local $Data::Dumper::Purity = 1;
print STDERR "".Data::Dumper->Dump([$root], ['$root']);
- print STDERR "NEW LINE($self->{'context_stack'}->[-1]): $line";
+ my $line_text = '';
+ $line_text = "$line_nr->{'line_nr'}.$line_nr->{'macro'}" if ($line_nr);
+ print STDERR "NEW
LINE($self->{'context_stack'}->[-1]:@{$self->{'conditionals_stack'}}:$line_text):
$line";
delete $current->{'HERE !!!!'};
}
@@ -1420,20 +1422,23 @@
my $ifvalue_true = 0;
if ($command eq 'ifclear' or $command eq 'ifset') {
if ($line =~ /^\s+([\w\-]+)/) {
- my $name = $2;
- if ((exists($self->{'values'}->{'name'}) and $command eq
'ifset')
- or (!exists($self->{'values'}->{'name'})
+ my $name = $1;
+ if ((exists($self->{'values'}->{$name}) and $command eq
'ifset')
+ or (!exists($self->{'values'}->{$name})
and $command eq 'ifclear')) {
$ifvalue_true = 1;
}
+ print STDERR "CONDITIONAL address@hidden $name:
$ifvalue_true\n" if ($self->{'debug'});
} else {
_line_error ($self, sprintf($self->__("%c%s requires a name"),
ord('@'), $command), $line_nr);
}
} elsif ($command =~ /^ifnot(.*)/) {
$ifvalue_true = 1 if !($self->{'expanded_formats_hash'}->{$1});
+ print STDERR "CONDITIONAL address@hidden format $1:
$ifvalue_true\n" if ($self->{'debug'});
} else {
die unless ($command =~ /^if(.*)/);
$ifvalue_true = 1 if ($self->{'expanded_formats_hash'}->{$1});
+ print STDERR "CONDITIONAL address@hidden format $1:
$ifvalue_true\n" if ($self->{'debug'});
}
if ($ifvalue_true) {
push @{$self->{'conditionals_stack'}}, $command;
@@ -2069,21 +2074,26 @@
}
$line = '';
} elsif ($command eq 'clear') {
- if ($line =~ /^(\s+)([\w\-]+)/) {
- $args = [$2];
- delete $self->{'values'}->{$2};
+ if ($line =~ /^\s+([\w\-]+)/) {
+ $args = [$1];
+ delete $self->{'values'}->{$1};
} else {
_line_error ($self, sprintf($self->
__("%c%s requires a name"), ord('@'), $command), $line_nr);
+ chomp $line;
+ $special = { 'arg' => $line };
}
+ $line = '';
} elsif ($command eq 'unmacro') {
- if ($line =~ /^(\s+)([\w\-]+)/) {
- $args = [$2];
- delete $self->{'macros'}->{$2};
+ if ($line =~ /^\s+([\w\-]+)/) {
+ $args = [$1];
+ delete $self->{'macros'}->{$1};
+ print STDERR "UNMACRO $1\n" if ($self->{'debug'});
} else {
_line_error ($self, sprintf($self->
__("%c%s requires a name"), ord('@'), $command), $line_nr);
}
+ $line = '';
} elsif ($command eq 'clickstyle') {
if ($line =~ s/^\s+@(address@hidden)({})?\s*//) {
$args = ['@'.$1];
Index: t/60macro.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/60macro.t,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- t/60macro.t 2 Oct 2010 17:22:52 -0000 1.7
+++ t/60macro.t 3 Oct 2010 11:51:37 -0000 1.8
@@ -72,6 +72,14 @@
@test1 abc
'],
+['too_much_args',
+'@macro twoargs {first, second}
+first arg: \first\
+second arg: \second\
address@hidden macro
+
address@hidden, two, three}.
+'],
['macro_expansion','
@macro macro1 {arg1, arg2 }
result of a macro with \arg1\ and
@@ -82,15 +90,13 @@
2 simple args. @macro1 {first arg, second arg}.
-3 simple args. @macro1{one , two, three}.
-
comma in command. @macro1{aaa @samp{a macro , } bbb}.
call on the line. @macro1 my arg.
recursive call. @macro1{first arg, @macro1{nested second arg}}.
-protect stuff. @macro1{first \\, arg, \\{\\} \\\\ }.
+protect stuff. @macro1{first \, arg, \{\} \\\\ }.
multi-line arg. @macro1{arg 1
@@ -126,34 +132,34 @@
'],
['protect_in_body',
'@macro macro1 { arg1 , arg2 }
-result: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ @emph{\\arg2\\}
+result: @emph{\arg1\} protected \\\\ -> \\\\arg1\\\\ @emph{\arg2\}
@end macro
-the @macro1 { @samp{f\\irst arg}, second arg } after macro.
+the @macro1 { @samp{f\irst arg}, second arg } after macro.
'],
['protect_in_body_one_arg',
'@macro macro1 { arg1 , arg2 }
-result: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ @emph{\\arg2\\}
+result: @emph{\arg1\} protected \\\\ -> \\\\arg1\\\\ @emph{\arg2\}
@end macro
@macro1 { @samp{f\irst arg}}
'],
['protect_in_body_line_arg',
'@macro macro1 { arg1 , arg2 }
-result: @emph{\\arg1\\} protected \\\\ -> \\\\arg1\\\\ @emph{\\arg2\\}
+result: @emph{\arg1\} protected \\\\ -> \\\\arg1\\\\ @emph{\arg2\}
@end macro
address@hidden @samp{f\\irst arg}, second arg
address@hidden @samp{f\irst arg}, second arg
'],
['protect_comma_macro_line',
'@macro macro2 { arg }
-we get \\arg\\ and another \\arg\\
-and another one on another line \\arg\\
+we get \arg\ and another \arg\
+and another one on another line \arg\
and a last in another paragraph
@end macro
address@hidden arg, comma \\,
address@hidden arg, comma \,
'],
['nested_macro_call',
'@macro machin{}
@@ -174,7 +180,7 @@
@macro mymacro_with_args{arg}
in with args
-now the arg \\arg\\
+now the arg \arg\
after
@end macro
@@ -257,7 +263,7 @@
@macro4
@end ifinfo
@iftex
address@hidden,bb}
address@hidden,bb}
@end iftex
@macro4{}
}
@@ -265,6 +271,130 @@
Call macro7
@macro7{aaa}
+'],
+['expansion_order',
+'@macro bidule{arg}
address@hidden
address@hidden macro
+
address@hidden machin
+\\\\arg\\\\
+
address@hidden macro
+
address@hidden
+'],
+['ifclear_in_macro',
+'@macro note {arg}
address@hidden notes
+\arg\
address@hidden ifclear
address@hidden macro
+
address@hidden
+arg
+}
+'],
+['macro_in_ifset',
+'@macro macro1 {arg}
address@hidden ifset
address@hidden macro
+
address@hidden a
address@hidden
+in ifset
address@hidden ifset
+'],
+['macro_in_ifset_end_in_arg',
+'@macro macro1 {arg}
address@hidden ifset
address@hidden macro
+
address@hidden a
address@hidden
address@hidden ifset
+}
+in ifset
address@hidden ifset
+'],
+['ifset_in_macro',
+'@macro note {arg}
address@hidden notes
+\arg\
address@hidden ifset
address@hidden macro
+
address@hidden
+arg
+}
+'],
+['ifset_in_macro_set',
+'@macro note {arg}
address@hidden notes
+\arg\
address@hidden ifset
address@hidden macro
+
address@hidden
+arg
+}
+', {'values' => {'notes' => 1}}],
+# unmacro is required for C makeinfo to avoid a warning.
+# texi2dvi breaks.
+['arg_body_expansion_order',
+'
address@hidden othermacro
+initial
address@hidden macro
+
address@hidden redefineothermacro {arg}
address@hidden othermacro
address@hidden othermacro
+different
address@hidden macro
+\arg\
address@hidden macro
+
address@hidden@othermacro{}}
+']
+);
+
+my @todo =(
+['glossary',
+'@macro glossarytext
address@hidden @asis
address@hidden macro
+
address@hidden glossary
address@hidden
address@hidden table
+
address@hidden macro
+
address@hidden gentry {id, name, text}
address@hidden
address@hidden,\name\}
address@hidden ifhtml
address@hidden
+\name\ (@pxref{\id\})
address@hidden ifnothtml
address@hidden expandglossary
address@hidden expandglossary{glossary}
address@hidden glossarytext
address@hidden glossarytext
+\\\\glossary\\\\
address@hidden \name\ @anchor{\id\}
+\text\
address@hidden macro
address@hidden macro
address@hidden address@hidden
+
address@hidden macro
+
+The @gentry{id1, name1, text1\, arg1 } is used in many cases while
address@hidden, name2, text2} is quite specific
+
address@hidden
']
);
Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- t/test_utils.pl 2 Oct 2010 10:03:41 -0000 1.14
+++ t/test_utils.pl 3 Oct 2010 11:51:37 -0000 1.15
@@ -15,9 +15,11 @@
our $arg_generate;
our $arg_debug;
+our $arg_complete;
Getopt::Long::Configure("gnu_getopt");
-GetOptions('g|generate' => \$arg_generate, 'd|debug' => \$arg_debug);
+GetOptions('g|generate' => \$arg_generate, 'd|debug' => \$arg_debug,
+ 'c|complete' => \$arg_complete);
our $arg_test_case = shift @ARGV;
@@ -45,8 +47,11 @@
my $test_case = shift;
my $test_name = shift @$test_case;
my $test_text = shift @$test_case;
+ my $parser_options = shift @$test_case;
+ $parser_options = {} if (!defined($parser_options));
- my $parser = Texinfo::Parser->parser({'test' => 1, 'debug' =>
$self->{'debug'}});
+ my $parser = Texinfo::Parser->parser({'test' => 1, 'debug' =>
$self->{'debug'},
+ %$parser_options});
print STDERR " TEST $test_name\n" if ($self->{'debug'});
my $result = $parser->parse_texi_text($test_text, 1);
my ($errors, $error_nrs) = $parser->errors();
@@ -124,13 +129,45 @@
}
foreach my $test_case (@$ran_tests) {
+ if ($arg_complete) {
+ $test->output_texi_file($test_case)
+ } else {
$test->test($test_case);
}
- if ($generate) {
+ }
+ if ($generate or $arg_complete) {
plan tests => 1;
} else {
plan tests => (1 + scalar(@$ran_tests) * 3);
}
}
+sub output_texi_file($)
+{
+ my $self = shift;
+ my $test_case = shift;
+ my $test_name = shift @$test_case;
+ my $test_text = shift @$test_case;
+
+ my $dir = "texi/$self->{'name'}/";
+ mkdir "texi/" or die
+ unless (-d "texi/");
+ mkdir $dir or die
+ unless (-d $dir);
+ my $file = "${dir}$test_name.texi";
+ open (OUTFILE, ">$file") or die ("Open $file: $!\n");
+ print OUTFILE "\\input texinfo address@hidden -*-texinfo-*-
+
address@hidden $test_name.info
+
address@hidden Top
+
address@hidden $test_name
+
+$test_text
+
address@hidden";
+ close (OUTFILE);
+}
+
1;
Index: t/results/macro/macro_expansion.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/results/macro/macro_expansion.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- t/results/macro/macro_expansion.pl 2 Oct 2010 10:03:41 -0000 1.2
+++ t/results/macro/macro_expansion.pl 3 Oct 2010 11:51:37 -0000 1.3
@@ -118,46 +118,6 @@
'contents' => [
{
'parent' => {},
- 'text' => '3 simple args. result of a macro with one and
-'
- }
- ],
- 'parent' => {},
- 'type' => 'paragraph'
- },
- {
- 'cmdname' => 'verbatim',
- 'contents' => [
- {
- 'parent' => {},
- 'text' => 'two, three
-',
- 'type' => 'raw'
- }
- ],
- 'parent' => {}
- },
- {
- 'contents' => [
- {
- 'parent' => {},
- 'text' => '.
-'
- }
- ],
- 'parent' => {},
- 'type' => 'paragraph'
- },
- {
- 'parent' => {},
- 'text' => '
-',
- 'type' => 'normal_line'
- },
- {
- 'contents' => [
- {
- 'parent' => {},
'text' => 'comma in command. result of a macro with aaa '
},
{
@@ -417,6 +377,10 @@
$result_trees{'macro_expansion'}{'contents'}[5]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[6]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[7];
+$result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[1]{'args'}[0];
+$result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[1]{'args'}[0]{'parent'}
= $result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[1];
+$result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[1]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[7];
+$result_trees{'macro_expansion'}{'contents'}[7]{'contents'}[2]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[7];
$result_trees{'macro_expansion'}{'contents'}[7]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[8]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[8];
$result_trees{'macro_expansion'}{'contents'}[8]{'parent'} =
$result_trees{'macro_expansion'};
@@ -424,10 +388,6 @@
$result_trees{'macro_expansion'}{'contents'}[9]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[10]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[11];
-$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'args'}[0];
-$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'args'}[0]{'parent'}
= $result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1];
-$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[1]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[11];
-$result_trees{'macro_expansion'}{'contents'}[11]{'contents'}[2]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[11];
$result_trees{'macro_expansion'}{'contents'}[11]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[12]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[12];
$result_trees{'macro_expansion'}{'contents'}[12]{'parent'} =
$result_trees{'macro_expansion'};
@@ -450,22 +410,15 @@
$result_trees{'macro_expansion'}{'contents'}[22]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[23]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[23];
$result_trees{'macro_expansion'}{'contents'}[23]{'parent'} =
$result_trees{'macro_expansion'};
-$result_trees{'macro_expansion'}{'contents'}[24]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[24];
$result_trees{'macro_expansion'}{'contents'}[24]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[25]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[25];
$result_trees{'macro_expansion'}{'contents'}[25]{'parent'} =
$result_trees{'macro_expansion'};
+$result_trees{'macro_expansion'}{'contents'}[26]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[26];
+$result_trees{'macro_expansion'}{'contents'}[26]{'contents'}[1]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[26];
+$result_trees{'macro_expansion'}{'contents'}[26]{'contents'}[2]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[26];
$result_trees{'macro_expansion'}{'contents'}[26]{'parent'} =
$result_trees{'macro_expansion'};
$result_trees{'macro_expansion'}{'contents'}[27]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[27];
$result_trees{'macro_expansion'}{'contents'}[27]{'parent'} =
$result_trees{'macro_expansion'};
-$result_trees{'macro_expansion'}{'contents'}[28]{'parent'} =
$result_trees{'macro_expansion'};
-$result_trees{'macro_expansion'}{'contents'}[29]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[29];
-$result_trees{'macro_expansion'}{'contents'}[29]{'parent'} =
$result_trees{'macro_expansion'};
-$result_trees{'macro_expansion'}{'contents'}[30]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[30];
-$result_trees{'macro_expansion'}{'contents'}[30]{'contents'}[1]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[30];
-$result_trees{'macro_expansion'}{'contents'}[30]{'contents'}[2]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[30];
-$result_trees{'macro_expansion'}{'contents'}[30]{'parent'} =
$result_trees{'macro_expansion'};
-$result_trees{'macro_expansion'}{'contents'}[31]{'contents'}[0]{'parent'} =
$result_trees{'macro_expansion'}{'contents'}[31];
-$result_trees{'macro_expansion'}{'contents'}[31]{'parent'} =
$result_trees{'macro_expansion'};
$result_texts{'macro_expansion'} = '
@macro macro1 {arg1, arg2 }
@@ -481,12 +434,6 @@
@end verbatim
.
-3 simple args. result of a macro with one and
address@hidden
-two, three
address@hidden verbatim
-.
-
comma in command. result of a macro with aaa @samp{a macro , } bbb and
@verbatim
@@ -523,10 +470,10 @@
$result_errors{'macro_expansion'} = [
{
- 'error_line' => ':15: warning: @macro1 defined with zero or more than one
argument should be invoked with {}
+ 'error_line' => ':13: warning: @macro1 defined with zero or more than one
argument should be invoked with {}
',
'file_name' => '',
- 'line_nr' => 15,
+ 'line_nr' => 13,
'macro' => '',
'text' => '@macro1 defined with zero or more than one argument should be
invoked with {}',
'type' => 'warning'
Index: t/55conditionals.t
===================================================================
RCS file: t/55conditionals.t
diff -N t/55conditionals.t
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/55conditionals.t 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,21 @@
+use strict;
+
+use Test::More;
+
+require 't/test_utils.pl';
+
+my @test_cases = (
+[ 'not_set',
+'@ifset a
+
+Flag a is set.
+
address@hidden ifset
+'],
+);
+
+our ($arg_test_case, $arg_generate, $arg_debug);
+
+run_all ('conditionals', address@hidden, $arg_test_case,
+ $arg_generate, $arg_debug);
+
Index: t/README
===================================================================
RCS file: t/README
diff -N t/README
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/README 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,9 @@
+From the top directory, you can create texinfo files corresponding with
+tests by running something along
+
+perl t/60macro.t -c
+
+to create a file for each of the test in t/60macro.t, or for a specific
+test, here arg_body_expansion_order:
+
+perl t/60macro.t -c arg_body_expansion_order
Index: t/results/conditionals/not_set.pl
===================================================================
RCS file: t/results/conditionals/not_set.pl
diff -N t/results/conditionals/not_set.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/conditionals/not_set.pl 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,11 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'not_set'} = {
+ 'contents' => []
+};
+
+$result_texts{'not_set'} = '';
+
+$result_errors{'not_set'} = [];
+
+
Index: t/results/macro/arg_body_expansion_order.pl
===================================================================
RCS file: t/results/macro/arg_body_expansion_order.pl
diff -N t/results/macro/arg_body_expansion_order.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/arg_body_expansion_order.pl 3 Oct 2010 11:51:37 -0000
1.1
@@ -0,0 +1,205 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'arg_body_expansion_order'} = {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'othermacro',
+ 'type' => 'macro_name'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'initial
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'macro_line' => ' othermacro
+',
+ 'macrobody' => 'initial
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'redefineothermacro',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@unmacro othermacro
+',
+ 'type' => 'raw'
+ },
+ {
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'different
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'macro_line' => ' othermacro
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '\\arg\\
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' redefineothermacro {arg}
+',
+ 'macrobody' => '@unmacro othermacro
address@hidden othermacro
+different
address@hidden macro
+\\arg\\
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'othermacro',
+ 'type' => 'misc_arg'
+ }
+ ],
+ 'cmdname' => 'unmacro',
+ 'parent' => {}
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'othermacro',
+ 'type' => 'macro_name'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'different
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'macro_line' => ' othermacro
+',
+ 'macrobody' => 'different
+'
+ }
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'different'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ }
+ ]
+};
+$result_trees{'arg_body_expansion_order'}{'contents'}[0]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[1]{'args'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[1];
+$result_trees{'arg_body_expansion_order'}{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[1];
+$result_trees{'arg_body_expansion_order'}{'contents'}[1]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[2]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'args'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[3];
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'args'}[1]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[3];
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'contents'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[3];
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'contents'}[1]{'contents'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[3]{'contents'}[1];
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'contents'}[1]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[3];
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'contents'}[2]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[3];
+$result_trees{'arg_body_expansion_order'}{'contents'}[3]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[4]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[5]{'args'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[5];
+$result_trees{'arg_body_expansion_order'}{'contents'}[5]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[6]{'args'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[6];
+$result_trees{'arg_body_expansion_order'}{'contents'}[6]{'contents'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[6];
+$result_trees{'arg_body_expansion_order'}{'contents'}[6]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[7]{'contents'}[0]{'parent'}
= $result_trees{'arg_body_expansion_order'}{'contents'}[7];
+$result_trees{'arg_body_expansion_order'}{'contents'}[7]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+$result_trees{'arg_body_expansion_order'}{'contents'}[8]{'parent'} =
$result_trees{'arg_body_expansion_order'};
+
+$result_texts{'arg_body_expansion_order'} = '
address@hidden othermacro
+initial
address@hidden macro
+
address@hidden redefineothermacro {arg}
address@hidden othermacro
address@hidden othermacro
+different
address@hidden macro
+\\arg\\
address@hidden macro
+
address@hidden othermacro
address@hidden othermacro
+different
address@hidden macro
+different
+';
+
+$result_errors{'arg_body_expansion_order'} = [];
+
+
Index: t/results/macro/expansion_order.pl
===================================================================
RCS file: t/results/macro/expansion_order.pl
diff -N t/results/macro/expansion_order.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/expansion_order.pl 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,130 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'expansion_order'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'bidule',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@machin{}
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' bidule{arg}
+',
+ 'macrobody' => '@machin{}
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'machin',
+ 'type' => 'macro_name'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '\\\\arg\\\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'macro_line' => ' machin
+',
+ 'macrobody' => '\\\\arg\\\\
+
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '\\arg\\
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ }
+ ]
+};
+$result_trees{'expansion_order'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[0];
+$result_trees{'expansion_order'}{'contents'}[0]{'args'}[1]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[0];
+$result_trees{'expansion_order'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[0];
+$result_trees{'expansion_order'}{'contents'}[0]{'parent'} =
$result_trees{'expansion_order'};
+$result_trees{'expansion_order'}{'contents'}[1]{'parent'} =
$result_trees{'expansion_order'};
+$result_trees{'expansion_order'}{'contents'}[2]{'args'}[0]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[2];
+$result_trees{'expansion_order'}{'contents'}[2]{'contents'}[0]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[2];
+$result_trees{'expansion_order'}{'contents'}[2]{'contents'}[1]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[2];
+$result_trees{'expansion_order'}{'contents'}[2]{'parent'} =
$result_trees{'expansion_order'};
+$result_trees{'expansion_order'}{'contents'}[3]{'parent'} =
$result_trees{'expansion_order'};
+$result_trees{'expansion_order'}{'contents'}[4]{'contents'}[0]{'parent'} =
$result_trees{'expansion_order'}{'contents'}[4];
+$result_trees{'expansion_order'}{'contents'}[4]{'parent'} =
$result_trees{'expansion_order'};
+$result_trees{'expansion_order'}{'contents'}[5]{'parent'} =
$result_trees{'expansion_order'};
+
+$result_texts{'expansion_order'} = '@macro bidule{arg}
address@hidden
address@hidden macro
+
address@hidden machin
+\\\\arg\\\\
+
address@hidden macro
+
+\\arg\\
+
+';
+
+$result_errors{'expansion_order'} = [];
+
+
Index: t/results/macro/ifclear_in_macro.pl
===================================================================
RCS file: t/results/macro/ifclear_in_macro.pl
diff -N t/results/macro/ifclear_in_macro.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/ifclear_in_macro.pl 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,100 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'ifclear_in_macro'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'note',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@ifclear notes
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '\\arg\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '@end ifclear
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' note {arg}
+',
+ 'macrobody' => '@ifclear notes
+\\arg\\
address@hidden ifclear
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'arg
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ }
+ ]
+};
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'ifclear_in_macro'}{'contents'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'args'}[1]{'parent'} =
$result_trees{'ifclear_in_macro'}{'contents'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'ifclear_in_macro'}{'contents'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'ifclear_in_macro'}{'contents'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'contents'}[2]{'parent'} =
$result_trees{'ifclear_in_macro'}{'contents'}[0];
+$result_trees{'ifclear_in_macro'}{'contents'}[0]{'parent'} =
$result_trees{'ifclear_in_macro'};
+$result_trees{'ifclear_in_macro'}{'contents'}[1]{'parent'} =
$result_trees{'ifclear_in_macro'};
+$result_trees{'ifclear_in_macro'}{'contents'}[2]{'contents'}[0]{'parent'} =
$result_trees{'ifclear_in_macro'}{'contents'}[2];
+$result_trees{'ifclear_in_macro'}{'contents'}[2]{'parent'} =
$result_trees{'ifclear_in_macro'};
+$result_trees{'ifclear_in_macro'}{'contents'}[3]{'parent'} =
$result_trees{'ifclear_in_macro'};
+
+$result_texts{'ifclear_in_macro'} = '@macro note {arg}
address@hidden notes
+\\arg\\
address@hidden ifclear
address@hidden macro
+
+arg
+
+';
+
+$result_errors{'ifclear_in_macro'} = [];
+
+
Index: t/results/macro/ifset_in_macro.pl
===================================================================
RCS file: t/results/macro/ifset_in_macro.pl
diff -N t/results/macro/ifset_in_macro.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/ifset_in_macro.pl 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,78 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'ifset_in_macro'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'note',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@ifset notes
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '\\arg\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '@end ifset
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' note {arg}
+',
+ 'macrobody' => '@ifset notes
+\\arg\\
address@hidden ifset
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ }
+ ]
+};
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'ifset_in_macro'}{'contents'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'args'}[1]{'parent'} =
$result_trees{'ifset_in_macro'}{'contents'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'ifset_in_macro'}{'contents'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'ifset_in_macro'}{'contents'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'contents'}[2]{'parent'} =
$result_trees{'ifset_in_macro'}{'contents'}[0];
+$result_trees{'ifset_in_macro'}{'contents'}[0]{'parent'} =
$result_trees{'ifset_in_macro'};
+$result_trees{'ifset_in_macro'}{'contents'}[1]{'parent'} =
$result_trees{'ifset_in_macro'};
+
+$result_texts{'ifset_in_macro'} = '@macro note {arg}
address@hidden notes
+\\arg\\
address@hidden ifset
address@hidden macro
+
+';
+
+$result_errors{'ifset_in_macro'} = [];
+
+
Index: t/results/macro/ifset_in_macro_set.pl
===================================================================
RCS file: t/results/macro/ifset_in_macro_set.pl
diff -N t/results/macro/ifset_in_macro_set.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/ifset_in_macro_set.pl 3 Oct 2010 11:51:37 -0000
1.1
@@ -0,0 +1,100 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'ifset_in_macro_set'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'note',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@ifset notes
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '\\arg\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => '@end ifset
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' note {arg}
+',
+ 'macrobody' => '@ifset notes
+\\arg\\
address@hidden ifset
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'arg
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ }
+ ]
+};
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'args'}[1]{'parent'} =
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'contents'}[2]{'parent'} =
$result_trees{'ifset_in_macro_set'}{'contents'}[0];
+$result_trees{'ifset_in_macro_set'}{'contents'}[0]{'parent'} =
$result_trees{'ifset_in_macro_set'};
+$result_trees{'ifset_in_macro_set'}{'contents'}[1]{'parent'} =
$result_trees{'ifset_in_macro_set'};
+$result_trees{'ifset_in_macro_set'}{'contents'}[2]{'contents'}[0]{'parent'} =
$result_trees{'ifset_in_macro_set'}{'contents'}[2];
+$result_trees{'ifset_in_macro_set'}{'contents'}[2]{'parent'} =
$result_trees{'ifset_in_macro_set'};
+$result_trees{'ifset_in_macro_set'}{'contents'}[3]{'parent'} =
$result_trees{'ifset_in_macro_set'};
+
+$result_texts{'ifset_in_macro_set'} = '@macro note {arg}
address@hidden notes
+\\arg\\
address@hidden ifset
address@hidden macro
+
+arg
+
+';
+
+$result_errors{'ifset_in_macro_set'} = [];
+
+
Index: t/results/macro/macro_in_ifset.pl
===================================================================
RCS file: t/results/macro/macro_in_ifset.pl
diff -N t/results/macro/macro_in_ifset.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/macro_in_ifset.pl 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,60 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_in_ifset'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'macro1',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@end ifset
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' macro1 {arg}
+',
+ 'macrobody' => '@end ifset
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ }
+ ]
+};
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'macro_in_ifset'}{'contents'}[0];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'args'}[1]{'parent'} =
$result_trees{'macro_in_ifset'}{'contents'}[0];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'macro_in_ifset'}{'contents'}[0];
+$result_trees{'macro_in_ifset'}{'contents'}[0]{'parent'} =
$result_trees{'macro_in_ifset'};
+$result_trees{'macro_in_ifset'}{'contents'}[1]{'parent'} =
$result_trees{'macro_in_ifset'};
+
+$result_texts{'macro_in_ifset'} = '@macro macro1 {arg}
address@hidden ifset
address@hidden macro
+
+';
+
+$result_errors{'macro_in_ifset'} = [];
+
+
Index: t/results/macro/macro_in_ifset_end_in_arg.pl
===================================================================
RCS file: t/results/macro/macro_in_ifset_end_in_arg.pl
diff -N t/results/macro/macro_in_ifset_end_in_arg.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/macro_in_ifset_end_in_arg.pl 3 Oct 2010 11:51:37
-0000 1.1
@@ -0,0 +1,100 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'macro_in_ifset_end_in_arg'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'macro1',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'arg',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '@end ifset
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'arg' => 0
+ },
+ 'macro_line' => ' macro1 {arg}
+',
+ 'macrobody' => '@end ifset
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'in ifset
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ]
+};
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'args'}[0]{'parent'}
= $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'args'}[1]{'parent'}
= $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[0]{'parent'} =
$result_trees{'macro_in_ifset_end_in_arg'};
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[1]{'parent'} =
$result_trees{'macro_in_ifset_end_in_arg'};
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[2]{'parent'} =
$result_trees{'macro_in_ifset_end_in_arg'};
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[3]{'contents'}[0]{'parent'}
= $result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[3];
+$result_trees{'macro_in_ifset_end_in_arg'}{'contents'}[3]{'parent'} =
$result_trees{'macro_in_ifset_end_in_arg'};
+
+$result_texts{'macro_in_ifset_end_in_arg'} = '@macro macro1 {arg}
address@hidden ifset
address@hidden macro
+
+
+in ifset
+';
+
+$result_errors{'macro_in_ifset_end_in_arg'} = [
+ {
+ 'error_line' => ':8: Misplaced }
+',
+ 'file_name' => '',
+ 'line_nr' => 8,
+ 'macro' => '',
+ 'text' => 'Misplaced }',
+ 'type' => 'error'
+ },
+ {
+ 'error_line' => ':10: Unmatched address@hidden'
+',
+ 'file_name' => '',
+ 'line_nr' => 10,
+ 'macro' => '',
+ 'text' => 'Unmatched address@hidden'',
+ 'type' => 'error'
+ }
+];
+
+
Index: t/results/macro/too_much_args.pl
===================================================================
RCS file: t/results/macro/too_much_args.pl
diff -N t/results/macro/too_much_args.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/macro/too_much_args.pl 3 Oct 2010 11:51:37 -0000 1.1
@@ -0,0 +1,97 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'too_much_args'} = {
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => 'twoargs',
+ 'type' => 'macro_name'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'first',
+ 'type' => 'macro_arg'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'second',
+ 'type' => 'macro_arg'
+ }
+ ],
+ 'cmdname' => 'macro',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'first arg: \\first\\
+',
+ 'type' => 'raw'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'second arg: \\second\\
+',
+ 'type' => 'raw'
+ }
+ ],
+ 'parent' => {},
+ 'special' => {
+ 'args_index' => {
+ 'first' => 0,
+ 'second' => 1
+ },
+ 'macro_line' => ' twoargs {first, second}
+',
+ 'macrobody' => 'first arg: \\first\\
+second arg: \\second\\
+'
+ }
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'normal_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'first arg: one
+'
+ },
+ {
+ 'parent' => {},
+ 'text' => 'second arg: two, three.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ]
+};
+$result_trees{'too_much_args'}{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'args'}[1]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'args'}[2]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[0];
+$result_trees{'too_much_args'}{'contents'}[0]{'parent'} =
$result_trees{'too_much_args'};
+$result_trees{'too_much_args'}{'contents'}[1]{'parent'} =
$result_trees{'too_much_args'};
+$result_trees{'too_much_args'}{'contents'}[2]{'contents'}[0]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[2];
+$result_trees{'too_much_args'}{'contents'}[2]{'contents'}[1]{'parent'} =
$result_trees{'too_much_args'}{'contents'}[2];
+$result_trees{'too_much_args'}{'contents'}[2]{'parent'} =
$result_trees{'too_much_args'};
+
+$result_texts{'too_much_args'} = '@macro twoargs {first, second}
+first arg: \\first\\
+second arg: \\second\\
address@hidden macro
+
+first arg: one
+second arg: two, three.
+';
+
+$result_errors{'too_much_args'} = [];
+
+
- texinfo/tp TODO Texinfo/Parser.pm t/60macro.t t...,
Patrice Dumas <=