@Test
public void split() throws Exception {

  assertEquals(Arrays.asList(""), UriDecoder.splitAndDecodePath(""));
  assertEquals(Arrays.asList("", ""), UriDecoder.splitAndDecodePath("/"));
  assertEquals(Arrays.asList("a"), UriDecoder.splitAndDecodePath("a"));
  assertEquals(Arrays.asList("a", ""), UriDecoder.splitAndDecodePath("a/"));
  assertEquals(Arrays.asList("", "a"), UriDecoder.splitAndDecodePath("/a"));
  assertEquals(Arrays.asList("a", "b"), UriDecoder.splitAndDecodePath("a/b"));
  assertEquals(Arrays.asList("", "a", "b"), UriDecoder.splitAndDecodePath("/a/b"));
  assertEquals(Arrays.asList("", "a", "", "", "b", ""), UriDecoder.splitAndDecodePath("/a///b/"));
}