/src/com/atlassian/uwc/converters/mediawiki/ImageConverterTest.java
Java | 277 lines | 230 code | 40 blank | 7 comment | 0 complexity | 45f16962462a39366b40b87cf090220d MD5 | raw file
- package com.atlassian.uwc.converters.mediawiki;
- import java.io.File;
- import junit.framework.TestCase;
- import org.apache.log4j.Logger;
- import org.apache.log4j.PropertyConfigurator;
- import com.atlassian.uwc.ui.Page;
- public class ImageConverterTest extends TestCase {
- ImageConverter tester = null;
- Logger log = Logger.getLogger(this.getClass());
- protected void setUp() throws Exception {
- PropertyConfigurator.configure("log4j.properties");
- tester = new ImageConverter();
- }
-
- public void testExistingImageConversion() {
- String input = "[[Image:Wiki.png]]";
- String expected = "!Wiki.png!";
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- input = "[[Image:Wiki.png|thumb]]";
- expected = "!Wiki.png|thumbnail!";
- actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testHandleImageProperty() {
- //thumb
- String input = "Wiki.png|thumb";
- String expected = "Wiki.png|thumbnail";
- String actual = tester.handleImageProperty(input);
- assertEquals(expected, actual);
-
- //none
- input = "Wiki.png";
- expected = "Wiki.png";
- actual = tester.handleImageProperty(input);
- assertEquals(expected, actual);
-
- //align
- input = "Wiki.png|right";
- expected = "Wiki.png|align=right";
- actual = tester.handleImageProperty(input);
- assertEquals(expected, actual);
-
- //thumb and align
- input = "Wiki.png|center|thumb";
- expected = "Wiki.png|thumbnail,align=center";
- actual = tester.handleImageProperty(input);
- assertEquals(expected, actual);
- }
- public void testImageConvertWithContext() {
- String input =
- "uwc-101: Mediawiki image conversion syntax needs to be case insensitive\n" +
- "[[image:abcd.png|thumb]]\n" +"[[Image:abcd.png]]\n" +
- "After\n";
- String expected = "uwc-101: Mediawiki image conversion syntax needs to be case insensitive\n" +
- "!abcd.png|thumbnail!\n" +
- "!abcd.png!\n" +
- "After\n";
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- Page page = new Page(new File(""));
- page.setOriginalText(input);
- tester.convert(page);
- actual = page.getConvertedText();
- assertNotNull(actual);
- assertEquals(expected, actual);
- input = "Thumbnail image\n" +
- "\n" +
- "[[Image:Wiki.png|thumb]]\n" +
- "\n" +
- "After\n" +
- "\n";
- expected = "Thumbnail image\n" +
- "\n" +
- "!Wiki.png|thumbnail!\n" +
- "\n" +
- "After\n" +
- "\n";
- page.setOriginalText(input);
- tester.convert(page);
- actual = page.getConvertedText();
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
- public void testAlignmentPreservation() {
- String input = "[[Image:Wiki.png|right]]";
- String expected = "!Wiki.png|align=right!";
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testAlignmentPreservationWithPropsMethod() {
- String input = "Wiki.png|right";
- String expected = "Wiki.png|align=right";
- String actual = tester.handleImageProperty(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- input = "Wiki.png|right|thumb";
- expected = "Wiki.png|thumbnail,align=right";
- actual = tester.handleImageProperty(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testDontFailOnColon() {
- // This is a way to link to the description page. Something Confluence doesn't have.
- String input = "[[:Image:Wiki.png]]";
- String expected = "!Wiki.png!"; //FIXME Probably should be [^Wiki.png]
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testAltText() {
- //We don't have anywhere to put alt text, so just lose it
- String input = "[[Image:Wiki.png|jigsaw globe]]";
- String expected = "!Wiki.png!";
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testResize() {
- String input = "[[Image:Wiki.png|30 px]]";
- String expected = "!Wiki.png|width=30px!";
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- input = "[[Image:Wiki.png|130px]]";
- expected = "!Wiki.png|width=130px!";
- actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- input = "[[Image:example.png|200x200px]]";
- expected = "!example.png|width=200px,height=200px!";
- actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- input = "[[Image:example.jpg|frame|250px]]";
- expected = "!example.jpg|align=right,width=250px!";
- actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- input = "[[Image:example.jpg|150px|frame]]";
- expected = "!example.jpg|align=right,width=150px!";
- actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testFrame() {
- //treat frame as align right for now
- String input = "[[Image:Wiki.png|frame|Wikipedia Encyclopedia]]";
- String expected = "!Wiki.png|align=right!";
- String actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
- public void testCreateConfluenceImage() {
- String img = "Wiki.png";
- boolean thumbnail = false;
- ImageConverter.Alignment align = ImageConverter.Alignment.LEFT;
- String expected = "Wiki.png";
- String actual = tester.createConfluenceImage(img, thumbnail, align);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- thumbnail = true;
- expected = "Wiki.png|thumbnail";
- actual = tester.createConfluenceImage(img, thumbnail, align);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- thumbnail = false;
- align = ImageConverter.Alignment.CENTER;
- expected = "Wiki.png|align=center";
- actual = tester.createConfluenceImage(img, thumbnail, align);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- thumbnail = true;
- expected = "Wiki.png|thumbnail,align=center";
- actual = tester.createConfluenceImage(img, thumbnail, align);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- thumbnail=false;
- align = ImageConverter.Alignment.RIGHT;
- expected = "Wiki.png|align=right";
- actual = tester.createConfluenceImage(img, thumbnail, align);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- thumbnail=true;
- expected = "Wiki.png|thumbnail,align=right";
- actual = tester.createConfluenceImage(img, thumbnail, align);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
-
- }
-
- public void testHandleThumb() {
- boolean thumb = true;
- String expected = "|thumbnail";
- String actual = tester.handleThumbnail(thumb);
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- thumb = false;
- expected = "";
- actual = tester.handleThumbnail(thumb);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testHandleAlign() {
- ImageConverter.Alignment align = ImageConverter.Alignment.LEFT;
- String expected = "";
- String actual = tester.handleAlignment(align, "|");
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- align = ImageConverter.Alignment.CENTER;
- expected = "|align=center";
- actual = tester.handleAlignment(align, "|");
- assertNotNull(actual);
- assertEquals(expected, actual);
-
- align = ImageConverter.Alignment.RIGHT;
- expected = "|align=right";
- actual = tester.handleAlignment(align, "|");
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
-
- public void testImagesInTables() {
- String input, expected, actual;
- input = "|| foo || bar ||\n" +
- "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
- "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
- "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
- "| [[Image:abc-a2.png | 200px]] | abc (foo) |\n" +
- "";
- expected = "|| foo || bar ||\n" +
- "| !abc-a2.png|width=200px! | abc (foo) |\n" +
- "| !abc-a2.png|width=200px! | abc (foo) |\n" +
- "| !abc-a2.png|width=200px! | abc (foo) |\n" +
- "| !abc-a2.png|width=200px! | abc (foo) |\n" +
- "";
- actual = tester.convertImages(input);
- assertNotNull(actual);
- assertEquals(expected, actual);
- }
- }