### Question:
StringUtil { public static String cEscape(String str) { return cEscape(str, '"', false); }  static boolean isEmpty(String str); static String getLeft(String src, int length); static String getRight(String src, int length); static boolean isDigitOnly(String chkStr); static String SQLEscape(String str); static String fillString(String str, int length, char fillChar, boolean fillLeft); static String cEscape(String str); static String cEscape(String str, char quoteChar); static String cEscape(String str, char quoteChar, boolean isWchar); static String lowerFirst(String str); static String upperFirst(String str); static boolean isJavaIdentifier(String str); static int[] splitAsIntArray(String str, String delimiter); static String join(byte[] items, String delimiter); static String join(String[] items, String delimiter); static String join(List<String> items, String delimiter); static StringBuilder appendRepeatedly(StringBuilder result, String str, int times); static StringBuilder appendRepeatedly(StringBuilder result, char c, int times); static String toTrimmedStr(Object o, int len);  }### Answer:
@Test public void testCEscape() { String org1 = "a\"\n\t\u0001"; String dest = "a\\\"\\n\\t\\u0001"; assertEquals(dest, StringUtil.cEscape(org1, '"', true)); assertEquals("a\\\"\\n\\t\\001", StringUtil.cEscape(org1)); String org2 = "'test'"; String des2 = "\\'test\\'"; assertEquals(des2, StringUtil.cEscape(org2, '\'', false)); assertEquals(org2, StringUtil.cEscape(org2)); assertEquals(null, StringUtil.cEscape(null)); assertEquals("abc", StringUtil.cEscape("abc")); }