FREEMARKER-176 [freemarker-generator] Running examples on Windows fails
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java
index 2bc284e..c1e8f36 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/datasource/DataSourceLoaderTest.java
@@ -31,6 +31,7 @@
import static org.apache.freemarker.generator.base.FreeMarkerConstants.DEFAULT_GROUP;
import static org.apache.freemarker.generator.base.mime.Mimetypes.MIME_APPLICATION_XML;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
public class DataSourceLoaderTest {
@@ -162,11 +163,18 @@
@Test
public void shouldCreateDataSourceFromEnvironmentVariable() {
- try (DataSource dataSource = dataSourceLoader().load("myenv=env:///HOME")) {
+ if (!hasEnvironmentVariables()) {
+ return;
+ }
+
+ final String anyEnvironmentVariable = System.getenv().keySet().iterator().next();
+ final String namedUriString = String.format("myenv=env:///%s", anyEnvironmentVariable);
+
+ try (DataSource dataSource = dataSourceLoader().load(namedUriString)) {
assertEquals("myenv", dataSource.getName());
assertEquals("default", dataSource.getGroup());
assertEquals(UTF_8, dataSource.getCharset());
- assertEquals("env:///HOME", dataSource.getUri().toString());
+ assertTrue(dataSource.getUri().toString().contains(anyEnvironmentVariable));
assertEquals("text/plain", dataSource.getContentType());
}
}
@@ -186,4 +194,8 @@
private DataSourceLoader dataSourceLoader() {
return DataSourceLoaderFactory.create();
}
+
+ private boolean hasEnvironmentVariables() {
+ return !System.getenv().isEmpty();
+ }
}
diff --git a/freemarker-generator-cli/src/app/scripts/run-examples.bat b/freemarker-generator-cli/src/app/scripts/run-examples.bat
index 4e950c3..7ca035e 100644
--- a/freemarker-generator-cli/src/app/scripts/run-examples.bat
+++ b/freemarker-generator-cli/src/app/scripts/run-examples.bat
@@ -37,9 +37,9 @@
echo "examples\templates\demo.ftl"
%FREEMARKER_CMD% -t examples\templates\demo.ftl README.md --output-encoding CP1252 > target\out\demo.txt
-#############################################################################
-# DataSources
-#############################################################################
+REM =========================================================================
+REM DataSources
+REM =========================================================================
echo "examples\templates\datasources.ftl"
%FREEMARKER_CMD% -t examples\templates\datasources.ftl -s :data=examples/data > target\out\datasources-01.txt