From ee84ed37709ab91e419cdfa748ab0d8e71bf99b6 Mon Sep 17 00:00:00 2001 From: joey Date: Wed, 2 Aug 2006 15:33:26 +0000 Subject: [PATCH] * Fix stupid bug in date matching, patch from Roland Mas. Closes: #381132 * Added many unit tests for pagespec_match. --- IkiWiki.pm | 7 +++---- debian/changelog | 4 +++- t/pagespec_match.t | 10 +++++++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index 3f2ffa4ce..d9559bde4 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -599,16 +599,15 @@ sub match_backlink ($$) { #{{{ } #}}} sub match_creation_day ($$) { #{{{ - return if (gmtime($pagectime{shift()}))[3] == shift; + return ((gmtime($pagectime{shift()}))[3] == shift); } #}}} sub match_creation_month ($$) { #{{{ - return if (gmtime($pagectime{shift()}))[4] + 1 == shift; + return ((gmtime($pagectime{shift()}))[4] + 1 == shift); } #}}} sub match_creation_year ($$) { #{{{ - return if (gmtime($pagectime{shift()}))[5] + 1900 == shift; + return ((gmtime($pagectime{shift()}))[5] + 1900 == shift); } #}}} - 1 diff --git a/debian/changelog b/debian/changelog index 7f13a2167..b79658363 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,10 @@ ikiwiki (1.14) UNRELEASED; urgency=low * Memoize pagespec translation, this speeds up a build of the ikiwiki tree by 10% or so. + * Fix stupid bug in date matching, patch from Roland Mas. Closes: #381132 + * Added many unit tests for pagespec_match. - -- Joey Hess Tue, 1 Aug 2006 23:35:13 -0400 + -- Joey Hess Wed, 2 Aug 2006 11:31:52 -0400 ikiwiki (1.13) unstable; urgency=low diff --git a/t/pagespec_match.t b/t/pagespec_match.t index 2a370a217..1863b9cba 100755 --- a/t/pagespec_match.t +++ b/t/pagespec_match.t @@ -1,7 +1,7 @@ #!/usr/bin/perl use warnings; use strict; -use Test::More tests => 25; +use Test::More tests => 31; BEGIN { use_ok("IkiWiki"); } @@ -25,6 +25,14 @@ ok(! IkiWiki::pagespec_match("foo", "link(quux)")); ok(IkiWiki::pagespec_match("bar", "backlink(foo)")); ok(! IkiWiki::pagespec_match("quux", "backlink(foo)")); +$IkiWiki::pagectime{foo}=1154532692; # Wed Aug 2 11:26 EDT 2006 +ok(IkiWiki::pagespec_match("foo", "creation_year(2006)"), "year"); +ok(! IkiWiki::pagespec_match("foo", "creation_year(2005)"), "other year"); +ok(IkiWiki::pagespec_match("foo", "creation_month(8)"), "month"); +ok(! IkiWiki::pagespec_match("foo", "creation_month(9)"), "other month"); +ok(IkiWiki::pagespec_match("foo", "creation_day(2)"), "day"); +ok(! IkiWiki::pagespec_match("foo", "creation_day(3)"), "other day"); + # old style globlists ok(IkiWiki::pagespec_match("foo", "foo bar"), "simple list"); ok(IkiWiki::pagespec_match("bar", "foo bar"), "simple list 2");