From 1ea8580a5f912c305f8ea89431b39033522c657e Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sat, 25 Jul 2009 20:04:04 +0100 Subject: [PATCH] Remove now-unused function pagespec_merge Now that dependencies are a list of pagespecs with an implicit "or" operation, there's no need to try to merge pagespecs under normal use. ikiwiki-transition contains the only use of the function, so move it there rather than deleting it entirely (it's used to concatenate all admins' lists of locked pages). --- IkiWiki.pm | 8 -------- ikiwiki-transition | 10 ++++++++++ t/pagespec_merge.t | 44 -------------------------------------------- 3 files changed, 10 insertions(+), 52 deletions(-) delete mode 100755 t/pagespec_merge.t diff --git a/IkiWiki.pm b/IkiWiki.pm index 8a8695768..06a0b7a2c 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1833,14 +1833,6 @@ sub add_link ($$) { unless grep { $_ eq $link } @{$links{$page}}; } -sub pagespec_merge ($$) { - my $a=shift; - my $b=shift; - - return $a if $a eq $b; - return "($a) or ($b)"; -} - sub pagespec_translate ($) { my $spec=shift; diff --git a/ikiwiki-transition b/ikiwiki-transition index 795ab31cb..8a20cf655 100755 --- a/ikiwiki-transition +++ b/ikiwiki-transition @@ -335,4 +335,14 @@ sub get_banned_users () { return @ret; } +# Used to be in IkiWiki, but only used here (to migrate admin prefs into the +# setup file) now. +sub pagespec_merge ($$) { + my $a=shift; + my $b=shift; + + return $a if $a eq $b; + return "($a) or ($b)"; +} + 1 diff --git a/t/pagespec_merge.t b/t/pagespec_merge.t deleted file mode 100755 index 9e38d5761..000000000 --- a/t/pagespec_merge.t +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/perl -use warnings; -use strict; -use Test::More tests => 25; - -BEGIN { use_ok("IkiWiki"); } - -sub same { - my $a=shift; - my $b=shift; - my $match=shift; - - my $imatch=(pagespec_match($match, $a) || - pagespec_match($match, $b)); - my $cmatch=pagespec_match($match, IkiWiki::pagespec_merge($a, $b)); - - return $imatch == $cmatch; -} - -ok(same("foo", "bar", "foo"), "basic match 1"); -ok(same("foo", "bar", "bar"), "basic match 2"); -ok(same("foo", "bar", "foobar"), "basic failed match"); -ok(same("foo", "!bar", "foo"), "basic match with inversion"); -ok(same("foo", "!bar", "bar"), "basic failed match with inversion"); -ok(same("!foo", "bar", "foo"), "basic failed match with inversion 2"); -ok(same("!foo", "bar", "bar"), "basic match with inversion 2"); -ok(same("!foo", "!bar", "foo"), "double inversion failed match"); -ok(same("!foo", "!bar", "bar"), "double inversion failed match 2"); -ok(same("*", "!bar", "foo"), "glob+inversion match"); -ok(same("*", "!bar", "bar"), "matching glob and matching inversion"); -ok(same("* and !foo", "!bar", "bar"), "matching glob and matching inversion"); -ok(same("* and !foo", "!bar", "foo"), "matching glob with matching inversion and non-matching inversion"); -ok(same("* and !foo", "!foo", "foo"), "matching glob with matching inversion and matching inversion"); -ok(same("b??", "!b??", "bar"), "matching glob and matching inverted glob"); -ok(same("f?? !f??", "!bar", "bar"), "matching glob and matching inverted glob"); -ok(same("b??", "!b?z", "bar"), "matching glob and non-matching inverted glob"); -ok(same("f?? !f?z", "!bar", "bar"), "matching glob and non-matching inverted glob"); -ok(same("!foo bar baz", "!bar", "bar"), "matching list and matching inversion"); -ok(pagespec_match("foo/Discussion", - IkiWiki::pagespec_merge("* and !*/Discussion", "*/Discussion")), "should match"); -ok(same("* and !*/Discussion", "*/Discussion", "foo/Discussion"), "Discussion merge 1"); -ok(same("*/Discussion", "* and !*/Discussion", "foo/Discussion"), "Discussion merge 2"); -ok(same("*/Discussion !*/bar", "*/bar !*/Discussion", "foo/Discussion"), "bidirectional merge 1"); -ok(same("*/Discussion !*/bar", "*/bar !*/Discussion", "foo/bar"), "bidirectional merge 2"); -- 2.32.0.93.g670b81a890