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