From 32fb970221b82f314eb4e2bce8f35ebe2d6b1bd5 Mon Sep 17 00:00:00 2001 From: Alex Schroeder Date: Tue, 25 Sep 2007 15:30:22 +0000 Subject: [PATCH] Reorganized tests to better explain what is going on and to save a few requests. --- t/redirection.t | 55 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/t/redirection.t b/t/redirection.t index ee30d75c..3cd3456d 100755 --- a/t/redirection.t +++ b/t/redirection.t @@ -18,28 +18,47 @@ require 't/test.pl'; package OddMuse; -use Test::More tests => 18; +use Test::More tests => 22; clear_pages(); -update_page('Miles_Davis', 'Featuring [[John Coltrane]]'); # plain link -update_page('John_Coltrane', '#REDIRECT Coltrane'); # no redirect -update_page('Sonny_Stitt', '#REDIRECT [[Stitt]]'); # redirect -update_page('Keith_Jarret', 'Plays with [[Gary Peacock]]'); # link to perm. anchor -update_page('Jack_DeJohnette', 'A friend of [::Gary Peacock]'); # define perm. anchor - -test_page(get_page('Miles_Davis'), ('Featuring', 'John Coltrane')); -test_page(get_page('John_Coltrane'), ('#REDIRECT Coltrane')); -test_page(get_page('Sonny_Stitt'), - ('Status: 302', 'Location: .*wiki.pl\?action=browse;oldid=Sonny_Stitt;id=Stitt')); -test_page(get_page('Keith_Jarret'), - ('Plays with', 'wiki.pl/Jack_DeJohnette#Gary_Peacock', 'Keith Jarret', 'Gary Peacock')); +# test message when using an undefined link pattern in a redirect +test_page(update_page('John_Coltrane', '#REDIRECT Coltrane'), + '#REDIRECT Coltrane', + 'Invalid link pattern for #REDIRECT'); +# plain link to an existing page +test_page(update_page('Miles_Davis', 'Featuring [[John Coltrane]]'), + 'Featuring', + 'John Coltrane'); +# simple redirect +test_page(update_page('Sonny_Stitt', '#REDIRECT [[Stitt]]'), + 'Status: 302', + 'Location: .*wiki.pl\?action=browse;oldid=Sonny_Stitt;id=Stitt'); +# define permanent anchor +test_page(update_page('Jack_DeJohnette', 'A friend of [::Gary Peacock]'), + 'A friend of', + 'Gary Peacock', + 'name="Gary_Peacock"', + 'class="definition"', + 'title="Click to search for references to this permanent anchor"'); +# link to a permanent anchor +test_page(update_page('Keith_Jarret', 'Plays with [[Gary Peacock]]'), + 'Plays with', + 'wiki.pl/Jack_DeJohnette#Gary_Peacock', + 'Keith Jarret', + 'Gary Peacock'); test_page(get_page('Gary_Peacock'), - ('Status: 302', 'Location: .*wiki.pl/Jack_DeJohnette#Gary_Peacock')); -test_page(get_page('Jack_DeJohnette'), - ('A friend of', 'Gary Peacock', 'name="Gary_Peacock"', 'class="definition"', - 'title="Click to search for references to this permanent anchor"')); + 'Status: 302', + 'Location: .*wiki.pl/Jack_DeJohnette#Gary_Peacock'); +# undefine permanent anchor test_page(update_page('Jack_DeJohnette', 'A friend of Gary Peacock.'), 'A friend of Gary Peacock.'); +# verify that the link to it turns into an edit link test_page(get_page('Keith_Jarret'), - ('wiki.pl\?action=edit;id=Gary_Peacock')); + 'wiki.pl\?action=edit;id=Gary_Peacock'); +# add another level to the redirect chain above +test_page(update_page('Herby_Hancock', '#REDIRECT [[Sonny_Stitt]]'), + 'Location: http://localhost/wiki.pl\?action=browse;oldid=Herby_Hancock;id=Sonny_Stitt'); +test_page(get_page('action=browse oldid=Herby_Hancock id=Sonny_Stitt'), + 'Too many redirections', + '#REDIRECT');