blob: 46b5ddf2d679018f5c55afaa859c9e783f2065d4 [file] [log] [blame]
package com.atlassian.uwc.converters.dokuwiki;
import java.io.File;
import java.util.Properties;
import junit.framework.TestCase;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import com.atlassian.uwc.ui.Page;
import com.atlassian.uwc.ui.VersionPage;
public class SpaceConverterTest extends TestCase {
SpaceConverter tester = null;
Logger log = Logger.getLogger(this.getClass());
protected void setUp() throws Exception {
tester = new SpaceConverter();
PropertyConfigurator.configure("log4j.properties");
Properties properties = tester.getProperties();
tester.clear(); //important for the space-X settings
properties.setProperty("space-foo", "sampleData/dokuwiki,sampleData/engine");
properties.setProperty("space-bar", "bin");
}
public void testConvert() {
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expected = "foo";
File file = new File(path);
assertTrue(file.exists());
Page page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expected, page.getSpacekey());
path = "bin/log4j.properties";
expected = "bar";
file = new File(path);
assertTrue(file.exists());
page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expected, page.getSpacekey());
path = "sampleData/engine/README.txt";
expected = "foo";
file = new File(path);
assertTrue(file.exists());
page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expected, page.getSpacekey());
path = "sampleData/mediawiki/readme.txt";
file = new File(path);
assertTrue(file.exists());
page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNull(page.getSpacekey());
}
public void testConvert_SpacenameRule_nocase() {
tester.getProperties().setProperty("spacename-rule-regex", "en[g]");//if you see this regex in any directory
tester.getProperties().setProperty("spacename-rule-prefix", "Prefixed "); //add this prefix to the spacename
tester.getProperties().setProperty("spacename-rule-uppercase", "false"); //to upper case each first letter of a word
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expkey = "foo";
String expected = "Prefixed foo";
File file = new File(path);
assertTrue(file.exists());
Page page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expkey, page.getSpacekey());
assertTrue(page.hasSpace(page.getSpacekey()));
String[] spaceData = page.getSpaceData(page.getSpacekey());
assertEquals(expected, spaceData[0]);
}
public void testConvert_SpacenameRule_nomatch() {
tester.getProperties().setProperty("spacename-rule-regex", "bar");//if you see this regex in any directory
tester.getProperties().setProperty("spacename-rule-prefix", "Prefixed "); //add this prefix to the spacename
tester.getProperties().setProperty("spacename-rule-uppercase", "false");
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expkey = "foo";
File file = new File(path);
assertTrue(file.exists());
Page page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expkey, page.getSpacekey());
}
public void testConvert_SpacenameRule_case() {
tester.getProperties().setProperty("spacename-rule-regex", "en[g]");//if you see this regex in any directory
tester.getProperties().setProperty("spacename-rule-prefix", "Prefixed "); //add this prefix to the spacename
tester.getProperties().setProperty("spacename-rule-uppercase", "true"); //to upper case each first letter of a word
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expkey = "foo";
String expected = "Prefixed Foo";
File file = new File(path);
assertTrue(file.exists());
Page page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expkey, page.getSpacekey());
assertTrue(page.hasSpace(page.getSpacekey()));
String[] spaceData = page.getSpaceData(page.getSpacekey());
assertEquals(expected, spaceData[0]);
}
public void testConvert_SpacenameRule_casenomatch() {
tester.getProperties().setProperty("spacename-rule-regex", "bar");//if you see this regex in any directory
tester.getProperties().setProperty("spacename-rule-prefix", "Prefixed "); //add this prefix to the spacename
tester.getProperties().setProperty("spacename-rule-uppercase", "true"); //to upper case each first letter of a word
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expkey = "foo";
String expected = "Foo";
File file = new File(path);
assertTrue(file.exists());
Page page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expkey, page.getSpacekey());
}
public void testConvert_siblingfile() {
tester.getProperties().setProperty("space-lala","sampleData/dokuwiki/SampleDokuwiki-InputLists");
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expkey = "lala";
File file = new File(path);
assertTrue(file.exists());
Page page = new Page(file);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expkey, page.getSpacekey());
}
public void testConvert_VersionPage() {
tester.getProperties().setProperty("space-lala","sampleData/dokuwiki/SampleDokuwiki-InputLists");
String path = "sampleData/dokuwiki/SampleDokuwiki-InputLists.txt";
String expkey = "tralala";
File file = new File(path);
assertTrue(file.exists());
Page page = new VersionPage(file);
Page parent = new Page(new File("sampleData/dokuwiki/SampleDokuwiki-InputBasic.txt"));
parent.setSpacekey(expkey);
page.setParent(parent);
assertNull(page.getSpacekey());
tester.convert(page);
assertNotNull(page.getSpacekey());
assertEquals(expkey, page.getSpacekey());
}
}