@Override @Nonnull public ResourcePath getPath() { return new ResourcePath(delegate.getPath()); }
@Override @Nonnull protected String filter (final @Nonnull Matcher matcher) { final ResourcePath relativePath = new ResourcePath(matcher.group(1)); return siteProvider.get().getSite().createLink(relativePath); } }
@Override @Nonnull protected String filter (final @Nonnull Matcher matcher) { final ResourcePath relativePath = new ResourcePath(matcher.group(1)).prependedWith("media"); return siteProvider.get().getSite().createLink(relativePath); } }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(expectedExceptions = IllegalArgumentException.class) public void must_reject_segments_containing_slash() { final ResourcePath underTest = new ResourcePath(of("a", "b", "/c")); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(expectedExceptions = IllegalArgumentException.class) public void must_reject_empty_segments() { final ResourcePath underTest = new ResourcePath(of("a", "", "/c")); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(expectedExceptions = NullPointerException.class) public void must_reject_null_segments() { final ResourcePath underTest = new ResourcePath(of("a", null, "/c")); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "invalidPathsProvider", dependsOnMethods = "must_properly_create_an_empty_path", expectedExceptions = IllegalArgumentException.class, expectedExceptionsMessageRegExp = "\\QResourcePath can't hold a URL\\E") public void must_reject_invalid_paths (final @Nonnull String invalidPathAsString) { final ResourcePath underTest = new ResourcePath(invalidPathAsString); }
@Nonnull public static ResourceFile folder (final @Nonnull String path) { return new MockResourceFile(null, new ResourcePath(path), true); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_properly_create_an_empty_path() { final ResourcePath underTest = new ResourcePath(); assertThat(underTest.segments, is(not(nullValue()))); assertThat(underTest.segments.isEmpty(), is(true)); assertThat(underTest.asString(), is("/")); }
@Override @Nonnull protected List<? extends SiteNode> computeResults() { final SiteNode content = mock(SiteNode.class); when(content.getRelativeUri()).thenReturn(new ResourcePath("URI-" + relativePath.substring(1))); return Arrays.asList(content); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "leadingAndTrailingProvider") public void must_properly_compute_leading_segment (final @Nonnull String pathAsString, final @Nonnull String expectedLeadingSegment, final @Nonnull String expectedTrailingSegment) { final ResourcePath underTest = new ResourcePath(pathAsString); assertThat(underTest.getLeading(), is(expectedLeadingSegment)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "leadingAndTrailingProvider") public void must_properly_compute_trailing_segment (final @Nonnull String pathAsString, final @Nonnull String expectedLeadingSegment, final @Nonnull String expectedTrailingSegment) { final ResourcePath underTest = new ResourcePath(pathAsString); assertThat(underTest.getTrailing(), is(expectedTrailingSegment)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "asStringProvider", dependsOnMethods = { "must_properly_create_an_empty_path", "must_properly_create_an_empty_path_from_string" }) public void must_properly_compute_asString (final @Nonnull ImmutableList<String> segments, final @Nonnull String expectedAsString) { final ResourcePath underTest = new ResourcePath(segments); assertThat(underTest.asString(), is(expectedAsString)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "segmentProvider", dependsOnMethods = "must_properly_compute_asString") public void must_properly_count_segments (final @Nonnull String pathAsString, final @Nonnull String expectedAsString, final @Nonnull List<String> expectedSegments) { final ResourcePath underTest = new ResourcePath(pathAsString); assertThat(underTest.getSegmentCount(), is(expectedSegments.size())); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "extensionProvider") public void must_properly_compute_extension (final @Nonnull String pathAsString, final @Nonnull String expectedExtension) { final ResourcePath underTest = new ResourcePath(pathAsString); assertThat(underTest.getExtension(), is(expectedExtension)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "startsWithProvider") public void must_properly_compute_startsWith (final @Nonnull String pathAsString, final @Nonnull String leadingSegment, final @Nonnull boolean expectedResult) { final ResourcePath underTest = new ResourcePath(pathAsString); assertThat(underTest.startsWith(leadingSegment), is(expectedResult)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "withoutLeadingAndTrailingProvider", dependsOnMethods = "must_properly_compute_asString") public void must_properly_compute_without_trailing (final @Nonnull String path, final @Nonnull String expectedPathWithoutLeadingAsString, final @Nonnull String expectedPathWithoutTrailingAsString) { final ResourcePath underTest = new ResourcePath(path); assertThat(underTest.withoutTrailing().asString(), is(expectedPathWithoutTrailingAsString)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "urlEncodedPathProvider", dependsOnMethods = "must_properly_compute_asString") public void must_properly_url_decode (final @Nonnull String plainPathAsString, final @Nonnull String encodedPathAsString) { final ResourcePath underTest = new ResourcePath(encodedPathAsString); assertThat(underTest.urlDecoded().asString(), is(plainPathAsString)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test(dataProvider = "withoutLeadingAndTrailingProvider", dependsOnMethods = "must_properly_compute_asString") public void must_properly_compute_without_leading (final @Nonnull String pathAsString, final @Nonnull String expectedPathWithoutLeadingAsString, final @Nonnull String expectedPathWithoutTrailingAsString) { final ResourcePath underTest = new ResourcePath(pathAsString); assertThat(underTest.withoutLeading().asString(), is(expectedPathWithoutLeadingAsString)); }
/******************************************************************************************************************* * ******************************************************************************************************************/ @Test public void must_create_correct_links() throws Exception { underTest = new DefaultSite(siteBuilder); final String result = underTest.createLink(new ResourcePath("link")); assertThat(result, is("lpp3-lpp2-lpp1-/baseUrl/contextpath/link")); }