@Test public void test() { final Map<String, DataUri> data = new LinkedHashMap<String, DataUri>() {{ put(",", new DataUri(null, false, null)); put("image/svg+xml;base64,!@#$%^&*(", new DataUri("image/svg+xml", true, "!@#$%^&*(")); put("text/vnd-example+xyz;foo=bar;base64,R0lGODdh", new DataUri("text/vnd-example+xyz", true, "R0lGODdh")); put("text/plain;charset=UTF-8;page=21,the%20data:1234,5678", new DataUri("text/plain", false, "the%20data:1234,5678")); }}; for (Map.Entry<String, DataUri> entry : data.entrySet()) { assertEquals(entry.getKey(), entry.getValue(), impl.parse(entry.getKey())); } }