public void repoPathUrls()

in javatests/com/google/gitiles/GitilesFilterTest.java [109:176]


  public void repoPathUrls() throws Exception {
    assertThat("").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/").doesNotMatch(REPO_PATH_REGEX);
    assertThat("//").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/foo").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/foo/ ").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/foo/ /").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/foo/ /bar").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/foo/bar").doesNotMatch(REPO_PATH_REGEX);
    assertThat("/foo/bar+baz").doesNotMatch(REPO_PATH_REGEX);
    Matcher m;

    m = REPO_PATH_REGEX.matcher("/foo/+");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+");
    assertThat(m.group(4)).isEqualTo("");

    m = REPO_PATH_REGEX.matcher("/foo/+/");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+/");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+");
    assertThat(m.group(4)).isEqualTo("/");

    m = REPO_PATH_REGEX.matcher("/foo/+/bar/baz");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+/bar/baz");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+");
    assertThat(m.group(4)).isEqualTo("/bar/baz");

    m = REPO_PATH_REGEX.matcher("/foo/+/bar/baz/");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+/bar/baz/");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+");
    assertThat(m.group(4)).isEqualTo("/bar/baz/");

    m = REPO_PATH_REGEX.matcher("/foo/+/bar baz");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+/bar baz");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+");
    assertThat(m.group(4)).isEqualTo("/bar baz");

    m = REPO_PATH_REGEX.matcher("/foo/+/bar/+/baz");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+/bar/+/baz");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+");
    assertThat(m.group(4)).isEqualTo("/bar/+/baz");

    m = REPO_PATH_REGEX.matcher("/foo/+bar/baz");
    assertThat(m.matches()).isTrue();
    assertThat(m.group(0)).isEqualTo("/foo/+bar/baz");
    assertThat(m.group(1)).isEqualTo(m.group(0));
    assertThat(m.group(2)).isEqualTo("/foo");
    assertThat(m.group(3)).isEqualTo("+bar");
    assertThat(m.group(4)).isEqualTo("/baz");
  }