This closes #72
Fix test to work on any combination of OS & eol type.
diff --git a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGenerator.java b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGenerator.java
index 1d1f4f5..367afbb 100644
--- a/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGenerator.java
+++ b/software/webapp/src/main/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGenerator.java
@@ -54,18 +54,18 @@
private static String getHostsDeclaration(Collection<HostGeoInfo> hosts) {
StringBuffer sb = new StringBuffer();
- sb.append("$hosts = array(").append(Os.LINE_SEPARATOR);
+ sb.append("$hosts = array(\n");
Iterator<HostGeoInfo> iServer = hosts.iterator();
while (iServer.hasNext()) {
HostGeoInfo server = iServer.next();
- sb.append(" array('name' => '").append(escape(server.displayName)).append("',").append(Os.LINE_SEPARATOR);
- sb.append(" 'latitude' => ").append(server.latitude).append(",").append(Os.LINE_SEPARATOR);
- sb.append(" 'longitude' => ").append(server.longitude).append(",").append(Os.LINE_SEPARATOR);
+ sb.append(" array('name' => '").append(escape(server.displayName)).append("',\n");
+ sb.append(" 'latitude' => ").append(server.latitude).append(",\n");
+ sb.append(" 'longitude' => ").append(server.longitude).append(",\n");
sb.append(" 'ip' => '").append(escape(server.address)).append("')");
- if (iServer.hasNext()) sb.append(",").append(Os.LINE_SEPARATOR);
- sb.append(Os.LINE_SEPARATOR);
+ if (iServer.hasNext()) sb.append(",\n");
+ sb.append("\n");
}
- sb.append(");").append(Os.LINE_SEPARATOR);
+ sb.append(");").append("\n");
return sb.toString();
}
diff --git a/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGeneratorTest.java b/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGeneratorTest.java
index 4e8ef2c..627feee 100644
--- a/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGeneratorTest.java
+++ b/software/webapp/src/test/java/org/apache/brooklyn/entity/dns/geoscaling/GeoscalingScriptGeneratorTest.java
@@ -48,10 +48,22 @@
String generatedScript = GeoscalingScriptGenerator.generateScriptString(generationTime, HOSTS);
assertTrue(generatedScript.contains("1.2.3"));
String expectedScript = ResourceUtils.create(this).getResourceAsString("org/apache/brooklyn/entity/dns/geoscaling/expectedScript.php");
- assertEquals(generatedScript, expectedScript);
+ assertEqualsNormalizedEol(generatedScript, expectedScript);
//also make sure leading slash is allowed
String expectedScript2 = ResourceUtils.create(this).getResourceAsString("org/apache/brooklyn/entity/dns/geoscaling/expectedScript.php");
- assertEquals(generatedScript, expectedScript);
+ assertEqualsNormalizedEol(generatedScript, expectedScript2);
}
-
+
+
+ private void assertEqualsNormalizedEol(String generatedScript, String expectedScript) {
+ assertEquals(normalizeEol(generatedScript), normalizeEol(expectedScript));
+ }
+
+
+ private Object normalizeEol(String str) {
+ // Remove CR in case the files are checked out on Windows.
+ // That's just to satisfy the test condition, PHP doesn't care about line endings.
+ return str.replace("\r\n", "\n");
+ }
+
}