package wikokit.base.wikipedia.language;
import wikokit.base.wikipedia.language.WikimediaSisterProject;
import junit.framework.TestCase;
public class WikimediaSisterProjectTest extends TestCase {
public WikimediaSisterProjectTest(String testName) {
super(testName);
}
@Override
protected void setUp() throws Exception {
super.setUp();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
/** Test parsing of interwikimedia link. E.g.
* [[w:Wikipedia:Wikimedia_sister_projects]] -> "Wikimedia_sister_projects"
* [[wikt:Wikisaurus:insane|Wikisaurus:insane]] -> "Wikisaurus:insane"
* [[wikt:Help:Creating a Wikisaurus entry|Creating a Wikisaurus entry]] -> "Creating a Wikisaurus entry"
* [[wikt:Wiktionary:Statistics#Detail|statistics]] -> "statistics"
* [[wikt:Wiktionary:Nguồn gốc/FVDP|Details]] -> "Details"
*/
public void testGetLinkText() {
System.out.println("getLinkText");
String wiki_text, expResult, result;
// [[w:Wikipedia:Wikimedia_sister_projects]] -> "Wikimedia_sister_projects"
wiki_text = "w:Wikipedia:Wikimedia_sister_projects";
expResult = "Wikipedia:Wikimedia_sister_projects";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// [[wikt:Wikisaurus:insane|Wikisaurus:insane]] -> "Wikisaurus:insane"
wiki_text = "wikt:Wikisaurus:insane|Wikisaurus:insane";
expResult = "Wikisaurus:insane";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// [[wikt:Help:Creating a Wikisaurus entry|Creating a Wikisaurus entry]] -> "Creating a Wikisaurus entry"
wiki_text = "wikt:Help:Creating a Wikisaurus entry|Creating a Wikisaurus entry";
expResult = "Creating a Wikisaurus entry";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// [[wikt:Wiktionary:Statistics#Detail|statistics]] -> "statistics"
wiki_text = "wikt:Wiktionary:Statistics#Detail|statistics";
expResult = "statistics";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// [[wikt:Wiktionary:Nguồn gốc/FVDP|Details]] -> "Details"
wiki_text = "wikt:Wiktionary:Nguồn gốc/FVDP|Details";
expResult = "Details";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
}
/** Namespace with/with out name of Wikimedia project
*
* [[:Image:Wiktionary-logo-gl.png|a logo that depicts a dictionary]] -> "a logo that depicts a dictionary"
* [[w:Wikipedia:Interwikimedia_links|text to expand]] -> "text to expand"
*/
public void testGetLinkText_namespace_only() {
System.out.println("getLinkText_namespace_only");
String wiki_text, expResult, result;
// 1. with wikimedia prefix 'w'
// [[w:Wikipedia:Interwikimedia_links|text to expand]] -> "text to expand"
wiki_text = "w:Wikipedia:Interwikimedia_links|text to expand";
expResult = "text to expand";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// [[wikt:de:Rechner]] -> Rechner
wiki_text = "wikt:de:Rechner";
expResult = "Rechner";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// 2. without wikimedia prefixes
// [[:Image:Wiktionary-logo-gl.png|a logo that depicts a dictionary]] -> "a logo that depicts a dictionary"
wiki_text = ":Image:Wiktionary-logo-gl.png|a logo that depicts a dictionary";
expResult = "a logo that depicts a dictionary";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
// 3. with wikimedia prefixes, but without '|' pipe
// [[:de:Hauptseite]] -> Hauptseite
wiki_text = ":de:Hauptseite";
expResult = "Hauptseite";
result = WikimediaSisterProject.getLinkText(wiki_text);
assertTrue(expResult.toString().equalsIgnoreCase( result.toString() ) );
}
}