@Test
public void normalizeWithReservedChar() throws Exception {

    final String[] TEST_NAMES = {
        "test?.txt", "?test.txt", "test.txt?", "?test?txt?"
    };
    final String[] EXPECTED_NAMES = {
        "test%3F.txt", "%3Ftest.txt", "test.txt%3F", "%3Ftest%3Ftxt%3F"
    };
    for (int i=0; i<TEST_NAMES.length; ++i) {
        //System.out.println("checking " + TEST_NAMES[i]);
        assertEquals(EXPECTED_NAMES[i], FilenameUtils.normalize(TEST_NAMES[i]));
    }
}