package org.hippoecm.frontend.editor.plugins; import static org.junit.Assert.assertEquals; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.junit.Test; public class EncodedStringModelTest { String getEncoding(char c) { switch(c) { case '<' : return "<"; case '>' : return ">"; case '&' : return "&"; case '"' : return """; case '\'' : return "'"; default: throw new RuntimeException("Unknown character " + c); } } @Test public void testStringEncoder() { IModel base = new Model(); IModel encoded = new EncodedStringModel(base); for (char c : "&'\"<>".toCharArray()) { StringBuilder sb = new StringBuilder(); sb.append(c); String cStr = sb.toString(); encoded.setObject(cStr); assertEquals(getEncoding(c), base.getObject()); assertEquals(cStr, encoded.getObject()); } } }