diff --git a/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java b/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java index e95075cbb..d805685ee 100644 --- a/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java +++ b/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java @@ -93,6 +93,7 @@ public class DumpDirectiveTest { test(varName, dataModel, expected); } + // RY Test different datetime types @Test public void dumpDate() { @@ -206,7 +207,7 @@ public class DumpDirectiveTest { test(varName, dataModel, expected); } - // RY Do these with different BeansWrappers + @Test public void dumpScalarList() { @@ -230,29 +231,96 @@ public class DumpDirectiveTest { } expected.put("value", listDump); - test(varName, dataModel, expected); - - } - - // RY Do these with different BeansWrappers - @Test - public void dumpScalarArray() { - - - + test(varName, dataModel, expected); } + @Test + public void dumpScalarArray() { + String varName = "fruit"; + Map dataModel = new HashMap(); + String[] list = { "apples", "bananas", "oranges" }; + dataModel.put(varName, list); + + Map expected = new HashMap(); + expected.put("name", varName); + expected.put("type", "Sequence"); + List> listDump = new ArrayList>(); + for ( String str : list) { + Map map = new HashMap(); + map.put("type", "String"); + map.put("value", str); + listDump.add(map); + } + expected.put("value", listDump); + + test(varName, dataModel, expected); + } + + @Test + public void dumpMixedList() { + +// String varName = "stuff"; +// Map dataModel = new HashMap(); +// List list = new ArrayList(); +// list.add("apples"); +// list.add(4); +// list.add(false); +// List animals = new ArrayList(); +// animals.add("dog"); +// animals.add("cat"); +// animals.add("elephant"); +// Collections.sort(animals); +// list.add(animals); +// dataModel.put(varName, list); +// +// Map expected = new HashMap(); +// expected.put("name", varName); +// expected.put("type", "Sequence"); +// +// List> listDump = new ArrayList>(); +// +// Map stringMap = new HashMap(); +// stringMap.put("type", "String"); +// stringMap.put("value", "apples"); +// listDump.add(stringMap); +// +// Map numberMap = new HashMap(); +// numberMap.put("type", "Number"); +// numberMap.put("value", 4); +// listDump.add(numberMap); +// +// Map booleanMap = new HashMap(); +// booleanMap.put("type", "Boolean"); +// booleanMap.put("value", false); +// listDump.add(booleanMap); +// +// Map sequenceMap = new HashMap(); +// sequenceMap.put("type", "Sequence"); +// for ( String animal : animals ) { +// Map animalMap = new HashMap(); +// animalMap.put("type", "String"); +// animalMap.put("value", animal); +// sequenceMap.put("value", animalMap); +// } +// listDump.add(sequenceMap); +// +// expected.put("value", listDump); +// +// test(varName, dataModel, expected); + } + @Test public void dumpHash() { } - + + // RY Do these with different BeansWrappers @Test public void dumpHashEx() { } - /////////////////////////// Private helper classes and methods /////////////////////////// + /////////////////////////// Private helper classes and methods /////////////////////////// private void test(String varName, Map dataModel, Map expected) { try {