[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/tp Texinfo/Convert/Text.pm t/test_sort.t
From: |
Patrice Dumas |
Subject: |
texinfo/tp Texinfo/Convert/Text.pm t/test_sort.t |
Date: |
Thu, 21 Jul 2011 09:21:25 +0000 |
CVSROOT: /sources/texinfo
Module name: texinfo
Changes by: Patrice Dumas <pertusus> 11/07/21 09:21:25
Modified files:
tp/Texinfo/Convert: Text.pm
tp/t : test_sort.t
Log message:
Fix @l and similar sorting, and add a test for sorting of index
entries with letters.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/Texinfo/Convert/Text.pm?cvsroot=texinfo&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/texinfo/tp/t/test_sort.t?cvsroot=texinfo&r1=1.6&r2=1.7
Patches:
Index: Texinfo/Convert/Text.pm
===================================================================
RCS file: /sources/texinfo/texinfo/tp/Texinfo/Convert/Text.pm,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- Texinfo/Convert/Text.pm 16 Jul 2011 06:37:48 -0000 1.41
+++ Texinfo/Convert/Text.pm 21 Jul 2011 09:21:24 -0000 1.42
@@ -135,9 +135,14 @@
my %sort_brace_no_arg_commands = (
'copyright' => 'C',
'registeredsymbol' => 'R',
- 'today' => 't'
+ 'today' => 't',
);
+foreach my $accent_letter ('o','O','l','L') {
+ $sort_brace_no_arg_commands{$accent_letter} = $accent_letter;
+}
+
+
our %text_no_brace_commands = (
'*', "\n",
' ', ' ',
Index: t/test_sort.t
===================================================================
RCS file: /sources/texinfo/texinfo/tp/t/test_sort.t,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- t/test_sort.t 22 Mar 2011 00:37:04 -0000 1.6
+++ t/test_sort.t 21 Jul 2011 09:21:25 -0000 1.7
@@ -1,7 +1,7 @@
use strict;
use Test::More;
-BEGIN { plan tests => 5 };
+BEGIN { plan tests => 6 };
use lib '../texi2html/lib/Unicode-EastAsianWidth/lib/';
use lib '../texi2html/lib/libintl-perl/lib/';
@@ -37,6 +37,7 @@
@cindex @~e
@cindex
@cindex aaaaaaaaaaaa
address@hidden @l{}
');
my ($index_names, $merged_indices, $index_entries) =
@@ -49,8 +50,40 @@
}
#Â e is before E because they are equal and e appears before E in the document
-my @entries_ref = ('!', '``', 'aaaaaaaaaaaa', 'e', 'E', 'e~');
+my @entries_ref = ('!', '``', 'aaaaaaaaaaaa', 'e', 'E', 'e~', 'l');
cmp_deeply (address@hidden, address@hidden, 'sorted index entries');
+my $sorted_index_entries_by_letter
+ = Texinfo::Structuring::sort_indices_by_letter($tree, $index_entries);
+my @letter_entries_ref = (
+ {'!' => [ '!' ]},
+ {'`' => [ '``' ]},
+ {'A' => [ 'aaaaaaaaaaaa' ]},
+ {'E' => [ 'e', 'E', 'e~']},
+ {'L' => [ 'l' ]},
+);
+
+my @letter_entries;
+foreach my $letter (@{$sorted_index_entries_by_letter->{'cp'}}) {
+ #my $letter_entry = {'letter' => $letter->{'letter'}};
+ my $letter_entry = {};
+ push @letter_entries, $letter_entry;
+ foreach my $entry (@{$letter->{'entries'}}) {
+ push @{$letter_entry->{$letter->{'letter'}}}, $entry->{'key'};
+ }
+}
+
+{
+local $Data::Dumper::Purity = 1;
+local $Data::Dumper::Maxdepth = 2;
+local $Data::Dumper::Indent = 1;
+#print STDERR "".Data::Dumper->Dump([$sorted_index_entries_by_letter])."\n";
+#foreach my $letter (@{$sorted_index_entries_by_letter->{'cp'}}) {
+# print STDERR "AAA $letter->{'letter'} ".join('|',keys(%$letter))."\n";
+#}
+# print STDERR "".Data::Dumper->Dump(address@hidden)."\n";
+}
+
+cmp_deeply (address@hidden, address@hidden, 'by letter index entries');
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/tp Texinfo/Convert/Text.pm t/test_sort.t,
Patrice Dumas <=