diff --git a/wfe-web/src/main/java/ru/runa/wf/web/ftl/component/EditUserTypeList.java b/wfe-web/src/main/java/ru/runa/wf/web/ftl/component/EditUserTypeList.java index 93bac09685..8e315c15cf 100644 --- a/wfe-web/src/main/java/ru/runa/wf/web/ftl/component/EditUserTypeList.java +++ b/wfe-web/src/main/java/ru/runa/wf/web/ftl/component/EditUserTypeList.java @@ -42,6 +42,11 @@ public Object postProcessValue(Object input) throws Exception { return list; } + public static String getReturnValue(String s) { + return s.replace("\"", "'").replace("\n", "").replace("[]", "{}"); + + } + public class EditUserTypeListModel extends UserTypeListModel { private final boolean allowToAddElements; private final boolean allowToChangeElements; @@ -80,8 +85,7 @@ public String getTemplateValue(TemplateModel arg0) throws TemplateModelException + definition.getName(); WfVariable templateComponentVariable = ViewUtil.createComponentVariable(variable, suffix, definition.getFormatNotNull(), null); String inputComponentHtml = ViewUtil.getComponentInput(user, webHelper, templateComponentVariable); - return inputComponentHtml.replaceAll("\"", "'").replaceAll("\n", "").replace("[]", "{}"); + return getReturnValue(inputComponentHtml); } - } } \ No newline at end of file diff --git a/wfe-web/src/test/java/ru/runa/ftl/component/EditUserTypeListTest.java b/wfe-web/src/test/java/ru/runa/ftl/component/EditUserTypeListTest.java new file mode 100644 index 0000000000..90b2ed939f --- /dev/null +++ b/wfe-web/src/test/java/ru/runa/ftl/component/EditUserTypeListTest.java @@ -0,0 +1,40 @@ +package ru.runa.ftl.component; + +import org.junit.Test; +import ru.runa.wf.web.ftl.component.EditUserTypeList; + +import static org.junit.Assert.assertEquals; + +public class EditUserTypeListTest { + @Test + public void getReturnValueTest1() { + String input = "Line1\nLine2\nLine3"; + String output = "Line1Line2Line3"; + + assertEquals(output, EditUserTypeList.getReturnValue(input)); + } + + @Test + public void getReturnValueTest2() { + String input = "str \"str\" str"; + String output = "str 'str' str"; + + assertEquals(output, EditUserTypeList.getReturnValue(input)); + } + + @Test + public void getReturnValueTest3() { + String input = "[str[]str[]str]"; + String output = "[str{}str{}str]"; + + assertEquals(output, EditUserTypeList.getReturnValue(input)); + } + + @Test + public void getReturnValueTest4() { + String input = "line1\nLine2\"str\"\n[]"; + String output = "line1Line2'str'{}"; + + assertEquals(output, EditUserTypeList.getReturnValue(input)); + } +}