in src/main/java/com/atlassian/uwc/ui/ConverterEngineTest.java [3281:3465]
public void testConvertWithRequiredConverters() {
//creating stubs
Page page1 = new Page(null); //arg must be NULL, otherwise engine fails on read
Page page2 = new Page(null);
Page page3 = new Page(null);
Page page4 = new Page(null);
Page page5 = new Page(null);
Page page6 = new Page(null);
Page page7 = new Page(null); // test real hashes
Page page8 = new Page(null); // test real carats
String name1 = "Testing";
String name2 = "Testing:1#2;3";
String name3 = "Testing Escaped Brackets";
String name4 = "Too [ManyBrackets";
String name5 = "Testing%20Entities";
String name6 = "Testing Code Blocks";
String name7 = "Testing Hashes";
String name8 = "Testing Carats";
String content1 = "See [Testing:1#2;3]"; //needs to change
String content2 = "See [alias|Testing]"; //needs to _not_ change
String content3 = "Testing \\[Escaped [brackets]";
String content4 = "Testing [Too [ManyBrackets]";
String content5 = "[Testing%20Entities]";
String content6 = "[Testing Escaped Brackets] and {code} [[don't replace here]] {code}";
String content7 = "[Testing Escaped Brackets#anchor]";
String content8 = "[^file.gif]";
page1.setName(name1);
page1.setOriginalText(content1);
page1.setConvertedText(content1); //ConverterEngine expects this
page2.setName(name2);
page2.setOriginalText(content2);
page2.setConvertedText(content2);
page3.setName(name3);
page3.setOriginalText(content3);
page3.setConvertedText(content3);
page4.setName(name4);
page4.setOriginalText(content4);
page4.setConvertedText(content4);
page5.setName(name5);
page5.setOriginalText(content5);
page5.setConvertedText(content5);
page6.setName(name6);
page6.setOriginalText(content6);
page6.setConvertedText(content6);
page7.setName(name7);
page7.setOriginalText(content7);
page7.setConvertedText(content7);
page8.setName(name8);
page8.setOriginalText(content8);
page8.setConvertedText(content8);
ArrayList<Page> pages = new ArrayList<Page>();
pages.add(page1);
pages.add(page2);
pages.add(page3);
pages.add(page4);
pages.add(page5);
pages.add(page6);
pages.add(page7);
pages.add(page8);
//create expectations
int expectedSize = pages.size();
String expName1 = name1;
String expName2 = "Testing.1No.2.3";
String expCon1 = "See [" + expName2 + "]";
String expCon2 = content2;
String expName3 = name3;
String expCon3 = content3;
String expName4 = "Too (ManyBrackets";
String expCon4 = "Testing [Too (ManyBrackets]";
String expName5 = "Testing Entities";
String expCon5 = "[Testing Entities]";
String expName6 = name6;
String expCon6 = content6;
String expName7 = name7;
String expCon7 = content7;
String expName8 = name8;
String expCon8 = content8;
//set urldecoding property
tester.handleNonConverterProperty("abc.0000.illegalnames-urldecode.property=true");
//do the tests
tester.handleIllegalHandling("enable", "true");
tester.convertWithRequiredConverters(pages);
assertNotNull(pages);
assertEquals(expectedSize, pages.size());
Page actPage1 = pages.remove(0);
Page actPage2 = pages.remove(0);
Page actPage3 = pages.remove(0);
Page actPage4 = pages.remove(0);
Page actPage5 = pages.remove(0);
Page actPage6 = pages.remove(0);
Page actPage7 = pages.remove(0);
Page actPage8 = pages.remove(0);
assertTrue(pages.isEmpty());
String actName1 = actPage1.getName();
String actCon1 = actPage1.getConvertedText();
String actName2 = actPage2.getName();
String actCon2 = actPage2.getConvertedText();
String actName3 = actPage3.getName();
String actCon3 = actPage3.getConvertedText();
String actName4 = actPage4.getName();
String actCon4 = actPage4.getConvertedText();
String actName5 = actPage5.getName();
String actCon5 = actPage5.getConvertedText();
String actName6 = actPage6.getName();
String actCon6 = actPage6.getConvertedText();
String actName7 = actPage7.getName();
String actCon7 = actPage7.getConvertedText();
String actName8 = actPage8.getName();
String actCon8 = actPage8.getConvertedText();
assertNotNull(actName1);
assertNotNull(actCon1);
assertNotNull(actName2);
assertNotNull(actCon2);
assertNotNull(actName3);
assertNotNull(actCon3);
assertNotNull(actName4);
assertNotNull(actCon4);
assertNotNull(actName5);
assertNotNull(actCon5);
assertNotNull(actName6);
assertNotNull(actCon6);
assertNotNull(actName7);
assertNotNull(actCon7);
assertNotNull(actName8);
assertNotNull(actCon8);
assertEquals(expName1, actName1);
// assertEquals(expCon1, actCon1); //This one has mutilple problems FIXME
assertEquals(expName2, actName2);
assertEquals(expCon2, actCon2);
assertEquals(expName3, actName3);
assertEquals(expCon3, actCon3);
assertEquals(expName4, actName4);
assertEquals(expCon4, actCon4);
assertEquals(expName5, actName5);
assertEquals(expCon5, actCon5);
assertEquals(expName6, actName6);
assertEquals(expCon6, actCon6);
assertEquals(expName7, actName7);
assertEquals(expCon7, actCon7);
assertEquals(expName8, actName8);
assertEquals(expCon8, actCon8);
//test when illegal handling has been disabled
String props = "Mywiki.0001.switch.illegal-handling=false";
//haven't set handler yet, so should be default
ConverterEngine.HierarchyHandler handler = tester.getHierarchyHandler();
assertEquals(ConverterEngine.HierarchyHandler.DEFAULT, handler);
//setting the handler
tester.handleNonConverterProperty(props);
Page page9 = new Page(null);
String name9 = "Testing:1#2;3";
String content9 = "See [Testing:1#2;3]";
page9.setName(name9);
page9.setOriginalText(content9);
page9.setConvertedText(content9); //ConverterEngine expects this
ArrayList<Page> pagesB = new ArrayList<Page>();
pagesB.add(page9);
String expName9 = name9;
String expCon9 = content9;
tester.convertWithRequiredConverters(pagesB);
assertNotNull(pagesB);
Page actPage9 = pagesB.remove(0);
String actName9 = actPage9.getName();
String actCon9 = actPage9.getConvertedText();
assertNotNull(actName9);
assertNotNull(actCon9);
assertEquals(expName9, actName9);
assertEquals(expCon9, actCon9);
}