### Question:
OpensocialFunctions { @Functions.Expose(prefix = "os", names = {"htmlDecode"}) public static String htmlDecode(String text) { if (text == null) { return null; } return StringEscapeUtils.unescapeHtml4(text); } private  OpensocialFunctions(); @Functions.Expose(prefix = "osx", names = {"parseJson"}) static Object parseJson(String text); @Functions.Expose(prefix = "osx", names = {"decodeBase64"}) static String decodeBase64(String text); @Functions.Expose(prefix = "os", names = {"urlEncode"}) static String formEncode(String text); @Functions.Expose(prefix = "os", names = {"urlDecode"}) static String formDecode(String text); @Functions.Expose(prefix = "os", names = {"htmlEncode"}) static String htmlEncode(String text); @Functions.Expose(prefix = "os", names = {"htmlDecode"}) static String htmlDecode(String text);  }### Answer:
@Test public void testHtmlDecode() throws Exception { String test = "&lt;1+1>3&gt;"; vars.put("encoded", test); ValueExpression testHtmlDecode = expressions.parse("${os:htmlDecode(encoded)}", String.class); assertEquals("<1+1>3>", testHtmlDecode.getValue(context)); }