[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp TODO t/10menu.t t/55conditionals.t t...
From: |
Patrice Dumas |
Subject: |
texinfo/tp TODO t/10menu.t t/55conditionals.t t... |
Date: |
Sat, 16 Oct 2010 09:37:06 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 10/10/16 09:37:06
Modified files:
tp : TODO
tp/t : 10menu.t 55conditionals.t test_utils.pl
Added files:
tp/t/results/conditionals: ifnot_format_conditional.pl
tp/t/results/menu: detailmenu.pl
Log message:
Add code in the test classes to test whole files parsing.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/TODO?cvsroot=texinfo&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/10menu.t?cvsroot=texinfo&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/55conditionals.t?cvsroot=texinfo&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_utils.pl?cvsroot=texinfo&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/conditionals/ifnot_format_conditional.pl?cvsroot=texinfo&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/results/menu/detailmenu.pl?cvsroot=texinfo&rev=1.1
Patches:
Index: TODO
===================================================================
RCS file: /sources/texinfo/texinfo/tp/TODO,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- TODO 12 Oct 2010 18:06:18 -0000 1.13
+++ TODO 16 Oct 2010 09:37:06 -0000 1.14
@@ -21,6 +21,12 @@
Test for @columnfractions in a random place and something like
@multitable aaa @columnfractions 0.3 0.7
+'@macro one-arg{arg}
+Arg \arg\.
address@hidden macro
+
address@hidden'
+
parse @sp a bit more.
tests in test/macros
Index: t/10menu.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/10menu.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- t/10menu.t 10 Oct 2010 23:23:03 -0000 1.3
+++ t/10menu.t 16 Oct 2010 09:37:06 -0000 1.4
@@ -33,16 +33,6 @@
* (f) a4 :: @c c
@end menu
'],
-['menu_entry_no_entry',
-'@menu
-* a1:
-* a2:
-* a1c:@c c
-* a2c: @c c
-* address@hidden:
-* address@hidden: @c c
address@hidden menu
-'],
['menu_entry_name',
'@menu
* a: (f)b
@@ -66,6 +56,26 @@
* a: (f)b3c.c, address@hidden c
@end menu
'],
+['detailmenu',
+'
address@hidden
+* Copying Conditions:: Your rights.
+
address@hidden
+* detailmenu::
address@hidden detailmenu
address@hidden menu
+'],
+['menu_entry_no_entry',
+'@menu
+* a1:
+* a2:
+* a1c:@c c
+* a2c: @c c
+* address@hidden:
+* address@hidden: @c c
address@hidden menu
+'],
['bad_beginning',
'@menu
*
Index: t/55conditionals.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/55conditionals.t,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- t/55conditionals.t 12 Oct 2010 09:59:13 -0000 1.4
+++ t/55conditionals.t 16 Oct 2010 09:37:06 -0000 1.5
@@ -58,7 +58,13 @@
@ifset a
in ifset
@end ifset
-']
+'],
+['ifnot_format_conditional',
+'@ifnottex
+not tex
address@hidden ifnottex
+
+After.']
);
our ($arg_test_case, $arg_generate, $arg_debug);
Index: t/test_utils.pl
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_utils.pl,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- t/test_utils.pl 4 Oct 2010 07:02:40 -0000 1.16
+++ t/test_utils.pl 16 Oct 2010 09:37:06 -0000 1.17
@@ -4,6 +4,7 @@
use Texinfo::Parser qw(:all);
use Data::Dumper;
use Data::Compare;
+use File::Basename;
#use Data::Diff;
#use Data::Transformer;
#use Struct::Compare;
@@ -45,15 +46,28 @@
{
my $self = shift;
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_options = {};
+ my ($test_name, $test_text);
+
+ if (ref($test_case) eq 'ARRAY') {
+ $test_name = shift @$test_case;
+ $test_text = shift @$test_case;
+ $parser_options = shift @$test_case if (@$test_case);
+ } else {
+ $test_name = basename($test_case, '.texi');
+ }
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 $result;
+ if (ref($test_case) eq 'ARRAY') {
+ $result = $parser->parse_texi_text($test_text, 1);
+ } else {
+ $result = $parser->parse_texi_file($test_case);
+ }
+
my ($errors, $error_nrs) = $parser->errors();
my $file = "t/results/$self->{'name'}/$test_name.pl";
@@ -72,13 +86,20 @@
#print STDERR "Generate: ".Data::Dumper->Dump([$result], ['$res']);
my $out_result = "".Data::Dumper->Dump([$result],
['$result_trees{\''.$test_name.'\'}']);
- my $perl_string_result = tree_to_texi($result);
+ my $texi_string_result = tree_to_texi($result);
+ my $perl_string_result = $texi_string_result;
$perl_string_result =~ s/\\/\\\\/g;
$perl_string_result =~ s/'/\\'/g;
$out_result .= "\n".'$result_texts{\''.$test_name.'\'} =
\''.$perl_string_result."';\n\n";
$out_result .= "".Data::Dumper->Dump([$errors],
['$result_errors{\''.$test_name.'\'}']) ."\n\n";
print OUT $out_result;
close (OUT);
+ if (ref($test_case) ne 'ARRAY') {
+ my $out_texi_file = "t/results/$self->{'name'}/$test_name.texi";
+ open (OUT, ">$out_texi_file") or die "Open $out_texi_file: $!\n";
+ print OUT $texi_string_result;
+ close (OUT);
+ }
print STDERR "--> $test_name\n".tree_to_texi($result)."\n" if
($self->{'generate'});
}
@@ -143,6 +164,38 @@
}
}
+sub run_all_files($$;$$$)
+{
+ my $name = shift;
+ my $test_cases = shift;
+ my $test_case_name = shift;
+ my $generate = shift;
+ my $debug = shift;
+
+ my $test = new_test($name, $generate, $debug);
+ my $ran_tests = $test_cases;
+ if (defined($test_case_name)) {
+ if ($test_case_name =~ /^\d+$/) {
+ $ran_tests = [ $test_cases->[$test_case_name-1] ];
+ } else {
+ foreach my $file (@$test_cases) {
+ my $test_case = basename ($file, '.texi');
+ $ran_tests = [ $file ] if ($test_case eq $test_case_name);
+ }
+ }
+ }
+ foreach my $test_case (@$ran_tests) {
+ $test->test($test_case);
+ }
+
+ if ($generate or $arg_complete) {
+ plan tests => 1;
+ } else {
+ plan tests => (1 + scalar(@$ran_tests) * 3);
+ }
+}
+
+
sub output_texi_file($)
{
my $self = shift;
Index: t/results/conditionals/ifnot_format_conditional.pl
===================================================================
RCS file: t/results/conditionals/ifnot_format_conditional.pl
diff -N t/results/conditionals/ifnot_format_conditional.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/conditionals/ifnot_format_conditional.pl 16 Oct 2010 09:37:06
-0000 1.1
@@ -0,0 +1,46 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'ifnot_format_conditional'} = {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'not tex
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'After.'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ]
+};
+$result_trees{'ifnot_format_conditional'}{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'ifnot_format_conditional'}{'contents'}[0];
+$result_trees{'ifnot_format_conditional'}{'contents'}[0]{'parent'} =
$result_trees{'ifnot_format_conditional'};
+$result_trees{'ifnot_format_conditional'}{'contents'}[1]{'parent'} =
$result_trees{'ifnot_format_conditional'};
+$result_trees{'ifnot_format_conditional'}{'contents'}[2]{'contents'}[0]{'parent'}
= $result_trees{'ifnot_format_conditional'}{'contents'}[2];
+$result_trees{'ifnot_format_conditional'}{'contents'}[2]{'parent'} =
$result_trees{'ifnot_format_conditional'};
+
+$result_texts{'ifnot_format_conditional'} = 'not tex
+
+After.';
+
+$result_errors{'ifnot_format_conditional'} = [];
+
+
Index: t/results/menu/detailmenu.pl
===================================================================
RCS file: t/results/menu/detailmenu.pl
diff -N t/results/menu/detailmenu.pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ t/results/menu/detailmenu.pl 16 Oct 2010 09:37:06 -0000 1.1
@@ -0,0 +1,171 @@
+use vars qw(%result_texts %result_trees %result_errors);
+
+$result_trees{'detailmenu'} = {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line'
+ },
+ {
+ 'cmdname' => 'menu',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Copying Conditions'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'parent' => {},
+ 'text' => ':: ',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Your rights.
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry'
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'after_description_line'
+ },
+ {
+ 'contents' => [
+ {
+ 'cmdname' => 'detailmenu',
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ },
+ {
+ 'args' => [
+ {
+ 'parent' => {},
+ 'text' => '* ',
+ 'type' => 'menu_entry_leading_text'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'detailmenu'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry_node'
+ },
+ {
+ 'parent' => {},
+ 'text' => '::',
+ 'type' => 'menu_entry_separator'
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry_description'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_entry'
+ }
+ ],
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'menu_comment'
+ }
+ ],
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'empty_line_after_command'
+ }
+ ]
+};
+$result_trees{'detailmenu'}{'contents'}[0]{'parent'} =
$result_trees{'detailmenu'};
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[0]{'parent'} =
$result_trees{'detailmenu'}{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[1]{'parent'} =
$result_trees{'detailmenu'}{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[0]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[1]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[2]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[3]{'contents'}[0]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[3];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'args'}[3]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[2]{'parent'} =
$result_trees{'detailmenu'}{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[3]{'parent'} =
$result_trees{'detailmenu'}{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'}
=
$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[1]{'contents'}[0]{'parent'}
=
$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[1]{'parent'}
=
$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[2]{'parent'}
=
$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[3]{'contents'}[0]{'parent'}
=
$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[3];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'args'}[3]{'parent'}
=
$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'contents'}[1]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'contents'}[0]{'parent'}
= $result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4];
+$result_trees{'detailmenu'}{'contents'}[1]{'contents'}[4]{'parent'} =
$result_trees{'detailmenu'}{'contents'}[1];
+$result_trees{'detailmenu'}{'contents'}[1]{'parent'} =
$result_trees{'detailmenu'};
+$result_trees{'detailmenu'}{'contents'}[2]{'parent'} =
$result_trees{'detailmenu'};
+
+$result_texts{'detailmenu'} = '
address@hidden
+
+* Copying Conditions:: Your rights.
+
address@hidden
+* detailmenu::
address@hidden address@hidden menu
+';
+
+$result_errors{'detailmenu'} = [];
+
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp TODO t/10menu.t t/55conditionals.t t...,
Patrice Dumas <=