UWC - Improved Trac Converter image params handling
diff --git a/src/com/atlassian/uwc/converters/trac/ImageParamConverter.java b/src/com/atlassian/uwc/converters/trac/ImageParamConverter.java
index 1969de3..d098517 100644
--- a/src/com/atlassian/uwc/converters/trac/ImageParamConverter.java
+++ b/src/com/atlassian/uwc/converters/trac/ImageParamConverter.java
@@ -21,7 +21,7 @@
}
- Pattern image = Pattern.compile("(?<!\\\\)!([^!|]+\\|)([^!]+)(?<!\\\\)!");
+ Pattern image = Pattern.compile("(?<!\\\\)!([^!|\n]+\\|)([^!\n]+)(?<!\\\\)!");
protected String convertImageParams(String input) {
Matcher imageFinder = image.matcher(input);
StringBuffer sb = new StringBuffer();
diff --git a/src/com/atlassian/uwc/converters/trac/ImageParamConverterTest.java b/src/com/atlassian/uwc/converters/trac/ImageParamConverterTest.java
index 14b5d2d..cae44e1 100644
--- a/src/com/atlassian/uwc/converters/trac/ImageParamConverterTest.java
+++ b/src/com/atlassian/uwc/converters/trac/ImageParamConverterTest.java
@@ -27,9 +27,9 @@
public void testConvertImageParams_WidthNoKey() {
String input, expected, actual;
- input = "!pagename:filename.png|50%!\n" +
+ input = "\n!pagename:filename.png|50%!\n" +
"";
- expected = "!pagename:filename.png|thumbnail!\n";
+ expected = "\n!pagename:filename.png|thumbnail!\n";
actual = tester.convertImageParams(input);
assertNotNull(actual);
assertEquals(expected, actual);
@@ -41,4 +41,28 @@
assertNotNull(actual);
assertEquals(expected, actual);
}
+
+ public void testConvertImageParams_AvoidProblemCase() {
+ String input, expected, actual;
+ //problem with newline in there was sidestepped by adding newline to neg char class
+ input = "!abc.gif! random \n | pipe !def.gif! tada ";
+ expected = input;
+ actual = tester.convertImageParams(input);
+ assertNotNull(actual);
+ assertEquals(expected, actual);
+ //problem with no newlines is harder and less likely
+// input = "!abc.gif! random | pipe !def.gif! tada ";
+// expected = input;
+// actual = tester.convertImageParams(input);
+// assertNotNull(actual);
+// assertEquals(expected, actual);
+
+ //don't match
+ input = "abc \\!abc.gif|50%!";
+ expected = input;
+ actual = tester.convertImageParams(input);
+ assertNotNull(actual);
+ assertEquals(expected, actual);
+
+ }
}
diff --git a/src/com/atlassian/uwc/ui/UWCForm3.java b/src/com/atlassian/uwc/ui/UWCForm3.java
index e60a2e4..e25eddd 100644
--- a/src/com/atlassian/uwc/ui/UWCForm3.java
+++ b/src/com/atlassian/uwc/ui/UWCForm3.java
@@ -92,7 +92,7 @@
private static final String LOGIN_TOOLTIP = "This is the username of an account on the Confluence server with write privileges to the space where you\'re adding content.";
private static final String ADDRESS_TOOLTIP = "This is the url to Confluence. Example: 'localhost:8080'";
private static final String VERSION_INDICATOR = "";
- public static final String VERSION_NUMBER = "3.13.1_Snapshot_010512";
+ public static final String VERSION_NUMBER = "3.13.1_Snapshot_011212";
private static final Dimension TABBEDPANE_SIZE = new Dimension(420, 475);
public static final String APP_NAME = "Universal Wiki Converter";
private static final int BASIC_RIGHT_MARGIN = 35;