** Passed all tests! **\n"; } else { echo "\n

-- FAILED ONE OR MORE TESTS --

\n"; } return $success; } function passTest( $testname, $note = "" ) { if( $notes != "" ) $notes = " -- $notes"; echo ".. passed test $testname $notes
\n"; return true; } function failTest( $testname, $notes = "" ) { if ( $notes != "" ) $notes = " -- $notes"; echo "** FAILED TEST $testname **$notes
\n"; return false; } function testTimestamp() { $tn = "Timestamp"; $x = wfUnix2Timestamp( 0 ); if( $x != "19700101000000" ) { return failTest( $tn, "wfUnix2Timestamp for epoch returned unexpected $x" ); } $x = wfTimestamp2Unix( "19700101000000" ); if( $x != 0 ) { return failTest( $tn, "wfTimestamp2Unix for epoch returned unexpected $x" ); } return passTest( $tn ); } function testRecode() { $tn = "Recode"; # These functions are dummies for now $a = "abcd"; $x = recodeInput( $a ); if( $a != $x ) return failTest( $tn, "eo test returned different value" ); $a = "ĉeĥa ŝaŭmmanĝaĵo"; $x = recodeInput( $a ); if( $a != $x ) return failTest( $tn, "eo test returned different value" ); return passTest( $tn ); } function testFreeToNormal() { $tn = "FreeToNormal"; $a = "WikiName"; $x = FreeToNormal( $a ); if( $a != $x ) return failTest( $tn, "$a -> $a != $x" ); $a = "With_Underscore"; $x = FreeToNormal( $a ); if( $a != $x ) return failTest( $tn, "$a -> $a != $x" ); $a = "With Space"; $x = FreeToNormal( $a ); if( "With_Space" != $x ) return failTest( $tn, "$a -> With_Space != $x" ); $a = "Mixed case"; $x = FreeToNormal( $a ); if( "Mixed_Case" != $x ) return failTest( $tn, "$a -> Mixed_Case != $x" ); $a = "\xe9cole"; $x = FreeToNormal( $a ); if( $a != $x ) return failTest( $tn, "$a -> $a != $x (must replicate high caps bug)" ); return passTest( $tn ); } function testTransformTitle() { global $talkending; $oldtalkending = $talkending; $tn = "TransformTitle"; $a = "WikiName"; $x = transformTitle( $a ); if( $x->namespace != 0 or $x->title != "WikiName" ) return failTest( $tn, "$a -> 0, WikiName instead -> $x->namespace , $x->title" ); $talkending = "Talk"; $a = "WikiName/Talk"; $x = transformTitle( $a ); if( $x->namespace != 1 or $x->title != "WikiName" ) return failTest( $tn, "$a -> 1, WikiName instead -> $x->namespace , $x->title" ); $a = "WikiName/talk"; $x = transformTitle( $a ); if( $x->namespace != 1 or $x->title != "WikiName" ) return failTest( $tn, "$a -> 1, WikiName instead -> $x->namespace , $x->title" ); $talkending = "Diskuto"; $a = "WikiName/Diskuto"; $x = transformTitle( $a ); if( $x->namespace != 1 or $x->title != "WikiName" ) return failTest( $tn, "$a -> 1, WikiName instead -> $x->namespace , $x->title" ); $talkending = $oldtalkending; return passTest( $tn ); } function testMediaLinks() { $tn = "MediaLinks"; # Fetch $a = "magic.gif"; $x = fetchMediaFile( "???", "magic.gif" ); # Media links $a = "[http://www.wikipedia.org/upload/magic.gif]"; $b = "[[Media:Magic.gif]]"; # Or should it? $x = fixMediaLinks( $a ); if( $x != $b ) return failTest( $tn, "$a should be $b, is $x" ); $a = "[http://www.wikipedia.org/upload/magic.gif Click image]"; $b = "[[Media:Magic.gif|Click image]]"; $x = fixMediaLinks( $a ); if( $x != $b ) return failTest( $tn, "$a should be $b, is $x" ); # Image links: $a = "http://www.wikipedia.org/upload/magic.gif"; $b = "[[Image:Magic.gif]]"; $x = fixImageLinks( $a ); if( $x != $b ) return failTest( $tn, "$a should be $b, is $x" ); $a = "http://www.wikipedia.org/upload/a/a4/magic.gif"; $b = "[[Image:Magic.gif]]"; $x = fixImageLinks( $a ); if( $x != $b ) return failTest( $tn, "$a should be $b, is $x" ); return passTest( $tn ); } function testRemoveTalkLink() { global $talkending; $tn = "RemoveTalkLink"; $oldtalkending = $talkending; $talkending = "Talk"; $a = "Blah blah blah blah\nFoo bar baz.\n/Talk"; $b = "Blah blah blah blah\nFoo bar baz."; $x = removeTalkLink( $a ); if( $x != $b ) return failTest( $tn, "removing talk link: '$a' -> '$x', should be '$b'" ); $a = "Blah blah blah blah\nFoo bar baz.\n[[/Talk]]"; $b = "Blah blah blah blah\nFoo bar baz."; $x = removeTalkLink( $a ); if( $x != $b ) return failTest( $tn, "removing talk link: '$a' -> '$x', should be '$b'" ); $a = "Blah blah blah blah\nFoo bar baz.\n/talk"; # wait... should this not work? $b = "Blah blah blah blah\nFoo bar baz."; $x = removeTalkLink( $a ); if( $x != $b ) return failTest( $tn, "removing talk link: '$a' -> '$x', should be '$b'" ); $talkending = "Priparolu"; $a = "Blah blah blah blah\nFoo bar baz.\n/Priparolu"; $b = "Blah blah blah blah\nFoo bar baz."; $x = removeTalkLink( $a ); if( $x != $b ) return failTest( $tn, "removing talk link: '$a' -> '$x', should be '$b'" ); $talkending = $oldtalkending; return passTest( $tn ); } function testSubPages() { $tn = "SubPages"; $t = "TopPage"; $a = "Blah /Subpage blah"; $b = "Blah [[TopPage/Subpage|/Subpage]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah /subpage blah"; $b = $a; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/Subpage]] blah"; $b = "Blah [[TopPage/Subpage|/Subpage]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/subpage]] blah"; $b = "Blah [[TopPage/Subpage|/subpage]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/Subpage|Fizzle]] blah"; $b = "Blah [[TopPage/Subpage|Fizzle]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/subpage|Fizzle]] blah"; $b = "Blah [[TopPage/Subpage|Fizzle]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah /\xc9cole blah"; $b = "Blah [[TopPage/\xc9cole|/\xc9cole]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah /\xe9cole blah"; $b = $a; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/\xc9cole]] blah"; $b = "Blah [[TopPage/\xc9cole|/\xc9cole]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/\xe9cole]] blah"; $b = "Blah [[TopPage/\xe9cole|/\xe9cole]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/xe9cole|Fizzle]] blah"; $b = "Blah [[TopPage/\xe9cole|Fizzle]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); $a = "Blah [[/subpage|Fizzle]] blah"; $b = "Blah [[TopPage/\xe9cole|Fizzle]] blah"; $x = fixSubPages( $a, $t ); if ( $x != $b ) return failTest( "'$a' -> '$x', should be '$b'" ); return passTest( $tn ); } ?>