forked from github/kensanata.oddmuse
Reorganized tests to better explain what is going on and to save a few requests.
This commit is contained in:
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user