r46499 - in /branches/upstream/libparse-mediawikidump-perl/current: ./ lib/Parse/ lib/Parse/MediaWikiDump/ t/

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Thu Oct 29 13:17:39 UTC 2009


Author: jawnsy-guest
Date: Thu Oct 29 13:17:18 2009
New Revision: 46499

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=46499
Log:
[svn-upgrade] Integrating new upstream version, libparse-mediawikidump-perl (0.98)

Added:
    branches/upstream/libparse-mediawikidump-perl/current/t/30-links-compat.t   (with props)
    branches/upstream/libparse-mediawikidump-perl/current/t/30-links.t   (with props)
    branches/upstream/libparse-mediawikidump-perl/current/t/30-pages.t   (with props)
    branches/upstream/libparse-mediawikidump-perl/current/t/30-revisions.t   (with props)
    branches/upstream/libparse-mediawikidump-perl/current/t/40-pages-single-revision-only.t   (with props)
    branches/upstream/libparse-mediawikidump-perl/current/t/40-pre-factory.t   (with props)
    branches/upstream/libparse-mediawikidump-perl/current/t/70-memory-cycle.t
    branches/upstream/libparse-mediawikidump-perl/current/t/memory-leak.off
Removed:
    branches/upstream/libparse-mediawikidump-perl/current/t/links-compat.t
    branches/upstream/libparse-mediawikidump-perl/current/t/links.t
    branches/upstream/libparse-mediawikidump-perl/current/t/pages-single-revision-only.t
    branches/upstream/libparse-mediawikidump-perl/current/t/pages.t
    branches/upstream/libparse-mediawikidump-perl/current/t/pre-factory.t
    branches/upstream/libparse-mediawikidump-perl/current/t/revisions.t
Modified:
    branches/upstream/libparse-mediawikidump-perl/current/Changes
    branches/upstream/libparse-mediawikidump-perl/current/MANIFEST
    branches/upstream/libparse-mediawikidump-perl/current/META.yml
    branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL
    branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm
    branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Pages.pm
    branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Revisions.pm
    branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/XML.pm
    branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/page.pm
    branches/upstream/libparse-mediawikidump-perl/current/t/revisions_test.xml

Modified: branches/upstream/libparse-mediawikidump-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/Changes?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/Changes (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/Changes Thu Oct 29 13:17:18 2009
@@ -1,4 +1,10 @@
 Revision history for Parse-MediaWikiDump
+
+0.98 	Oct 28, 2009
+	* Bumped processing speed back up
+    * Fixed possible infinite loop scenario	
+    * Ordered tests
+	* Added test to find circular references
 
 0.97	Oct 23, 2009
 	* Fixed all known memory leaks

Modified: branches/upstream/libparse-mediawikidump-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/MANIFEST?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/MANIFEST (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/MANIFEST Thu Oct 29 13:17:18 2009
@@ -6,15 +6,18 @@
 README
 examples/speed_test
 t/00-load.t
-t/pages.t
-t/links.t
-t/links-compat.t
+t/00-load.t
+t/30-links-compat.t
+t/30-links.t
+t/30-pages.t
+t/30-revisions.t
+t/40-pages-single-revision-only.t
+t/40-pre-factory.t
+t/70-memory-cycle.t
+t/links_test.sql
+t/memory-leak.off
 t/pages_test.xml
-t/links_test.sql
 t/revisions_test.xml
-t/revisions.t
-t/pre-factory.t
-t/pages-single-revision-only.t
 lib/Parse/MediaWikiDump/category_link.pm
 lib/Parse/MediaWikiDump/CategoryLinks.pm
 lib/Parse/MediaWikiDump/link.pm

Modified: branches/upstream/libparse-mediawikidump-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/META.yml?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/META.yml (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/META.yml Thu Oct 29 13:17:18 2009
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               Parse-MediaWikiDump
-version:            0.97
+version:            0.98
 abstract:           Tools to process MediaWiki dump files
 author:
     - Tyler Riddle <triddle at gmail.com>
@@ -9,11 +9,13 @@
 configure_requires:
     ExtUtils::MakeMaker:  0
 requires:
-    List::Util:       0
-    Scalar::Util:     0
-    Test::Exception:  0
-    Test::More:       0
-    XML::Parser:      0
+    List::Util:           0
+    PadWalker:            0
+    Scalar::Util:         0
+    Test::Exception:      0
+    Test::Memory::Cycle:  0
+    Test::More:           0
+    XML::Parser:          0
 no_index:
     directory:
         - t

Modified: branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/Makefile.PL Thu Oct 29 13:17:18 2009
@@ -10,6 +10,8 @@
     ABSTRACT_FROM       => 'lib/Parse/MediaWikiDump.pm',
     PL_FILES            => {},
     PREREQ_PM => {
+    'PadWalker' => 0,
+    'Test::Memory::Cycle' => 0,
     'Test::More' => 0,
     'Test::Exception' => 0,
     'XML::Parser' => 0,

Modified: branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump.pm Thu Oct 29 13:17:18 2009
@@ -1,5 +1,5 @@
 package Parse::MediaWikiDump;
-our $VERSION = '0.97';
+our $VERSION = '0.98';
 
 use Parse::MediaWikiDump::XML;
 use Parse::MediaWikiDump::Revisions;

Modified: branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Pages.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Pages.pm?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Pages.pm (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Pages.pm Thu Oct 29 13:17:18 2009
@@ -1,6 +1,6 @@
 package Parse::MediaWikiDump::Pages;
 
-our $VERSION = '0.97';
+our $VERSION = '0.98';
 
 use base qw(Parse::MediaWikiDump::Revisions);
 
@@ -8,6 +8,9 @@
 use warnings;
 use Scalar::Util qw(weaken);
 
+#the only difference between this class and ::Revisions
+#is that this class enforces a single revision per each
+#page node
 sub new_accumulator_engine {
 	my ($self) = @_;
 	
@@ -76,11 +79,7 @@
 }
 
 sub save_namespace_node {
-	my ($parser, $accum, $text, $element, $attrs) = @_;
-	my $key = $attrs->{key};
-	my $namespaces = $accum->{namespaces};
-	
-	push(@{ $accum->{namespaces} }, [$key, $text] );
+	return Parse::MediaWikiDump::Revisions::save_namespace_node(@_);
 }
 
 

Modified: branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Revisions.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Revisions.pm?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Revisions.pm (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/Revisions.pm Thu Oct 29 13:17:18 2009
@@ -1,6 +1,6 @@
 package Parse::MediaWikiDump::Revisions;
 
-our $VERSION = '0.97';
+our $VERSION = '0.98';
 
 use 5.8.0;
 
@@ -48,6 +48,8 @@
 	
 	my $page;
 	
+	#look for an available page and if one isn't
+	#there then parse more XML
 	while(1) {
 		$page = shift(@{ $self->{PAGE_LIST} } );
 		
@@ -148,7 +150,7 @@
 	#load the information from the siteinfo section so it is available before
 	#someone calls ->next
 	while(scalar(@{$self->{PAGE_LIST}}) < 1) {
-		$self->parse_more;	
+		die "hit end of document" unless $self->parse_more;	
 	}
 }
 
@@ -218,6 +220,10 @@
                 return 0;
         }
 
+		#expat has a bug where the current_byte
+		#value overflows around 2 gigabytes
+		#so we track how much data has been
+		#processed ourselves
         $$self{BYTE} += $read;
         $$self{EXPAT}->parse_more($buf);
         
@@ -243,6 +249,7 @@
 }
 
 #helper functions that the xml accumulator uses
+
 sub save_namespace_node {
 	my ($parser, $accum, $text, $element, $attrs) = @_;
 	my $key = $attrs->{key};

Modified: branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/XML.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/XML.pm?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/XML.pm (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/XML.pm Thu Oct 29 13:17:18 2009
@@ -71,7 +71,7 @@
 	$self->{root} = $root;
 	$self->{element_stack} = [];
 	$self->{accum} = $accum;
-	$self->{char_buf} = '';
+	$self->{char_buf} = [];
 	$self->{node_stack} = [ $root ];
 	
 	return $self;
@@ -156,7 +156,7 @@
 sub handle_char_event {
 	my ($self, $expat, $chars) = @_; 
 	
-	$self->{char_buf} .= $chars; 
+	push(@{$self->{char_buf}}, $chars); 
 }
 
 sub flush_chars {
@@ -170,9 +170,9 @@
 		$cur_element = [];
 	}
 	
-	defined $handler && &$handler($self, $self->{accum}, $self->{char_buf}, @$cur_element);
-		
-	$self->{char_buf} = '';
+	defined $handler && &$handler($self, $self->{accum}, join('', @{$self->{char_buf}}), @$cur_element);
+		
+	$self->{char_buf} = [];
 	
 	return undef;
 }
@@ -395,4 +395,4 @@
 	$a->{$store_as} = $chars;
 }
 
-1;
+1;

Modified: branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/page.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/page.pm?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/page.pm (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/lib/Parse/MediaWikiDump/page.pm Thu Oct 29 13:17:18 2009
@@ -25,20 +25,11 @@
 	my $title = $self->title;
 	my $namespace = '';
 	
-	#warn "size " . scalar(@{ $self->{NAMESPACES} });
-	
 	return $$self{CACHE}{namespace} if defined $$self{CACHE}{namespace};
 	
 	if ($title =~ m/^([^:]+):(.*)/) {
-#		warn "got a namespace candidate: $1 - $2";
-
 		foreach (@{ $self->{NAMESPACES} } ) {
 			my ($num, $name) = @$_;
-			
-#			warn $name;
-
-#			warn "$1 $name";
-			
 			if ($1 eq $name) {
 				$namespace = $1;
 				last;
@@ -46,10 +37,6 @@
 		}
 	}
 
-#	warn "this function is still broken";
-
-#	warn "namespace: $namespace";
-	
 	$$self{CACHE}{namespace} = $namespace;
 
 	return $namespace;

Added: branches/upstream/libparse-mediawikidump-perl/current/t/30-links-compat.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/30-links-compat.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/30-links-compat.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/30-links-compat.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,23 @@
+#!perl 
+
+use Test::Simple tests => 4;
+use strict;
+use warnings;
+use Parse::MediaWikiDump;
+
+my $file = 't/links_test.sql';
+
+my $links = Parse::MediaWikiDump->links($file);
+
+my $sum;
+my $last_link;
+
+while(my $link = $links->link) {
+	$sum += $link->from;
+	$last_link = $link;
+}
+
+ok($sum == 92288);
+ok($last_link->from == 7759);
+ok($last_link->to eq 'Recentchanges');
+ok($last_link->namespace == -1);

Propchange: branches/upstream/libparse-mediawikidump-perl/current/t/30-links-compat.t
------------------------------------------------------------------------------
    svn:executable = *

Added: branches/upstream/libparse-mediawikidump-perl/current/t/30-links.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/30-links.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/30-links.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/30-links.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,23 @@
+#!perl 
+
+use Test::Simple tests =>4;
+use strict;
+use warnings;
+use Parse::MediaWikiDump;
+
+my $file = 't/links_test.sql';
+
+my $links = Parse::MediaWikiDump->links($file);
+
+my $sum;
+my $last_link;
+
+while(my $link = $links->next) {
+	$sum += $link->from;
+	$last_link = $link;
+}
+
+ok($sum == 92288);
+ok($last_link->from == 7759);
+ok($last_link->to eq 'Recentchanges');
+ok($last_link->namespace == -1);

Propchange: branches/upstream/libparse-mediawikidump-perl/current/t/30-links.t
------------------------------------------------------------------------------
    svn:executable = *

Added: branches/upstream/libparse-mediawikidump-perl/current/t/30-pages.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/30-pages.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/30-pages.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/30-pages.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,112 @@
+#!perl -w
+
+use Test::Simple tests => 96;
+use strict;
+use Parse::MediaWikiDump;
+
+use Data::Dumper;
+
+my $file = 't/pages_test.xml';
+my $fh;
+my $pages;
+my $mode;
+
+$mode = 'file';
+test_all($file);
+
+open($fh, $file) or die "could not open $file: $!";
+
+$mode = 'handle';
+test_all($fh);
+
+sub test_all {
+	$pages = Parse::MediaWikiDump->pages(shift);
+
+	test_one();
+	test_two();
+	test_three();
+	test_four();
+
+	ok(! defined($pages->next));
+}
+
+sub test_one {
+	ok($pages->sitename eq 'Sitename Test Value');
+	ok($pages->base eq 'Base Test Value');
+	ok($pages->generator eq 'Generator Test Value');
+	ok($pages->case eq 'Case Test Value');
+	ok($pages->namespaces->[0]->[0] == -2);
+	ok($pages->namespaces_names->[0] eq 'Media');
+	ok($pages->current_byte != 0);
+	ok($pages->version eq '0.3');
+	
+	if ($mode eq 'file') {
+		ok($pages->size == 2874);
+	} elsif ($mode eq 'handle') {
+		ok(! defined($pages->size))
+	} else {
+		die "invalid test mode";
+	}
+
+	my $page = $pages->next;
+	my $text = $page->text;
+
+	ok(defined($page));
+	
+	ok($page->title eq 'Talk:Title Test Value');
+	ok($page->id == 1);
+	ok($page->revision_id == 47084);
+	ok($page->username eq 'Username Test Value');
+	ok($page->userid == 1292);
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->userid == 1292);
+	ok($page->minor);
+	ok($$text eq "Text Test Value\n");
+	ok($page->namespace eq 'Talk');
+	ok(! defined($page->redirect));
+	ok(! defined($page->categories));
+}
+
+sub test_two {
+	my $page = $pages->next;
+	my $text = $page->text;
+
+	ok($page->title eq 'Title Test Value #2');
+	ok($page->id == 2);
+	ok($page->revision_id eq '47085');
+	ok($page->username eq 'Username Test Value 2');
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->userid == 1292);
+	ok($page->minor);
+	ok($$text eq "#redirect : [[fooooo]]\n");
+	ok($page->namespace eq '');
+	ok($page->redirect eq 'fooooo');
+	ok(! defined($page->categories));
+}
+
+sub test_three {
+	my $page = $pages->next;
+
+	ok(defined($page));
+	ok($page->redirect);
+	ok($page->title eq 'Title Test Value #3');
+	ok($page->id == 3);
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->username eq 'Username Test Value');
+	ok($page->userid == 1292);
+}
+
+sub test_four {
+	my $page = $pages->next;
+
+	ok(defined($page));
+
+	ok($page->id == 4);
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->username eq 'Username Test Value');
+	ok($page->userid == 1292);
+
+	#test for bug 36255
+	ok($page->namespace eq '');
+	ok($page->title eq 'NotANameSpace:Bar');
+}

Propchange: branches/upstream/libparse-mediawikidump-perl/current/t/30-pages.t
------------------------------------------------------------------------------
    svn:executable = *

Added: branches/upstream/libparse-mediawikidump-perl/current/t/30-revisions.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/30-revisions.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/30-revisions.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/30-revisions.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,130 @@
+#!perl -w
+
+use Test::Simple tests => 102;
+use strict;
+use Parse::MediaWikiDump;
+use Data::Dumper;
+
+my $file = 't/revisions_test.xml';
+my $fh;
+my $revisions;
+my $mode;
+
+$mode = 'file';
+test_all($file);
+
+open($fh, $file) or die "could not open $file: $!";
+
+$mode = 'handle';
+test_all($fh);
+
+sub test_all {
+	$revisions = Parse::MediaWikiDump->revisions(shift);
+
+	test_siteinfo();
+	
+	test_one();
+	test_two();
+	test_three();
+	test_four();
+	test_five();
+	
+	ok(! defined($revisions->next));
+}
+
+sub test_siteinfo {
+	
+	ok($revisions->sitename eq 'Sitename Test Value');
+	ok($revisions->base eq 'Base Test Value');
+	ok($revisions->generator eq 'Generator Test Value');
+	ok($revisions->case eq 'Case Test Value');
+	ok($revisions->namespaces->[0]->[0] == -2);
+	ok($revisions->namespaces_names->[0] eq 'Media');
+	ok($revisions->current_byte != 0);
+	ok($revisions->version eq '0.3');
+	
+	if ($mode eq 'file') {
+		ok($revisions->size == 3112);
+	} elsif ($mode eq 'handle') {
+		ok(! defined($revisions->size));
+	} else {
+		die "invalid test mode";
+	}
+}
+
+#the first two tests check everything to make sure information
+#is not leaking across pages due to accumulator errors. 
+sub test_one {
+	my $page = $revisions->next;
+	my $text = $page->text;
+	
+	ok(defined($page));
+			
+	ok($page->title eq 'Talk:Title Test Value');
+	ok($page->id == 1);
+	ok($page->revision_id == 47084);
+	ok($page->username eq 'Username Test Value 1');
+	ok($page->userid == 1292);
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->userid == 1292);
+	ok($page->minor);
+	ok($$text eq "Text Test Value 1\n");
+	ok($page->namespace eq 'Talk');
+	ok(! defined($page->redirect));
+	ok(! defined($page->categories));
+}
+
+sub test_two {
+	my $page = $revisions->next;
+	my $text = $page->text;
+
+	ok($page->title eq 'Title Test Value #2');
+	ok($page->id == 2);
+	ok($page->revision_id eq '47085'); 
+	ok($page->username eq 'Username Test Value 2');
+	ok($page->timestamp eq '2006-07-09T18:41:10Z');
+	ok($page->userid == 12);
+	ok($page->minor);
+	ok($$text eq "#redirect : [[fooooo]]");
+	ok($page->namespace eq '');
+	ok($page->redirect eq 'fooooo');
+	ok(! defined($page->categories));
+}
+
+sub test_three {
+	my $page = $revisions->next;
+	my $text = $page->text;
+
+	ok(defined($page));
+	ok($page->redirect eq 'fooooo');
+	ok($page->title eq 'Title Test Value #2');
+	ok($page->id == 2);
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->username eq 'Username Test Value');
+	ok($page->userid == 1292);
+	ok(! $page->minor);
+}
+
+sub test_four {
+	my $page = $revisions->next;
+	my $text = $page->text;
+
+	ok(defined($page));
+
+	ok($page->id == 4);
+	ok($page->timestamp eq '2005-07-09T18:41:10Z');
+	ok($page->username eq 'Username Test Value');
+	ok($page->userid == 1292);
+
+	#test for bug 36255
+	ok($page->namespace eq '');
+	ok($page->title eq 'NotANameSpace:Bar');
+}
+
+#test for Bug 50092
+sub test_five {
+	my $page = $revisions->next;
+	ok($page->title eq 'Bug 50092 Test');
+	ok(defined(${$page->text}));		
+}
+

Propchange: branches/upstream/libparse-mediawikidump-perl/current/t/30-revisions.t
------------------------------------------------------------------------------
    svn:executable = *

Added: branches/upstream/libparse-mediawikidump-perl/current/t/40-pages-single-revision-only.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/40-pages-single-revision-only.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/40-pages-single-revision-only.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/40-pages-single-revision-only.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,20 @@
+#!perl -w
+
+use strict;
+use warnings;
+
+use Test::Exception tests => 1;
+use Parse::MediaWikiDump;
+
+my $file = 't/revisions_test.xml';
+
+throws_ok { test() } qr/^only one revision per page is allowed$/, 'one revision per article ok';
+
+sub test {	
+	my $pages = Parse::MediaWikiDump->pages($file);
+	
+	while(defined($pages->next)) { };
+};
+
+
+

Propchange: branches/upstream/libparse-mediawikidump-perl/current/t/40-pages-single-revision-only.t
------------------------------------------------------------------------------
    svn:executable = *

Added: branches/upstream/libparse-mediawikidump-perl/current/t/40-pre-factory.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/40-pre-factory.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/40-pre-factory.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/40-pre-factory.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,8 @@
+use Test::Simple tests => 3;
+use strict;
+use Parse::MediaWikiDump;
+
+
+ok(defined(Parse::MediaWikiDump::Pages->new('t/pages_test.xml')));
+ok(defined(Parse::MediaWikiDump::Revisions->new('t/revisions_test.xml')));
+ok(defined(Parse::MediaWikiDump::Links->new('t/links_test.sql')));

Propchange: branches/upstream/libparse-mediawikidump-perl/current/t/40-pre-factory.t
------------------------------------------------------------------------------
    svn:executable = *

Added: branches/upstream/libparse-mediawikidump-perl/current/t/70-memory-cycle.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/70-memory-cycle.t?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/70-memory-cycle.t (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/70-memory-cycle.t Thu Oct 29 13:17:18 2009
@@ -1,0 +1,18 @@
+use strict;
+use warnings;
+
+use Test::Memory::Cycle tests => 11;
+use Parse::MediaWikiDump;
+
+my $pages = Parse::MediaWikiDump->pages('t/pages_test.xml');
+my $revisions = Parse::MediaWikiDump->revisions('t/revisions_test.xml');
+
+memory_cycle_ok($pages);
+while(defined(my $page = $pages->next)) {
+	memory_cycle_ok($page);
+}
+
+memory_cycle_ok($revisions);
+while(defined(my $revision = $revisions->next)) {
+	memory_cycle_ok($revision);
+}

Added: branches/upstream/libparse-mediawikidump-perl/current/t/memory-leak.off
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/memory-leak.off?rev=46499&op=file
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/memory-leak.off (added)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/memory-leak.off Thu Oct 29 13:17:18 2009
@@ -1,0 +1,22 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Parse::MediaWikiDump;
+use Devel::Cycle;
+
+my $dump1 = Parse::MediaWikiDump->revisions('t/pages_test.xml');
+my $NUM_TESTS = 10000;
+my $i = 0;
+
+find_cycle($dump1);
+
+#exit 1;
+
+while ($i++ < $NUM_TESTS) {
+	my $dump = Parse::MediaWikiDump->pages('t/pages_test.xml');
+
+#	$dump->next;
+	while($dump->next) { }
+}

Modified: branches/upstream/libparse-mediawikidump-perl/current/t/revisions_test.xml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libparse-mediawikidump-perl/current/t/revisions_test.xml?rev=46499&op=diff
==============================================================================
--- branches/upstream/libparse-mediawikidump-perl/current/t/revisions_test.xml (original)
+++ branches/upstream/libparse-mediawikidump-perl/current/t/revisions_test.xml Thu Oct 29 13:17:18 2009
@@ -48,12 +48,12 @@
       <contributor><username>Username Test Value 2</username><id>12</id></contributor>
       <comment>Comment Test Value 2</comment>
       <text xml:space="preserve">#redirect : [[fooooo]]</text>
+      <minor/>
     </revision>
     <revision>
       <id>47086</id>
       <timestamp>2005-07-09T18:41:10Z</timestamp>
       <contributor><username>Username Test Value</username><id>1292</id></contributor>
-      <minor/>
       <comment>Comment Test Value</comment>
       <text xml:space="preserve">#redirect [[fooooo]]
 </text>




More information about the Pkg-perl-cvs-commits mailing list