Test layer index can contain filenames with spaces

Add tests to ensure that the layer index can support filenames that
contain spaces.

Closes gh-20827
This commit is contained in:
Phillip Webb 2020-04-06 17:42:52 -07:00
parent 464c15e52c
commit 951a3e78f9
4 changed files with 18 additions and 0 deletions

View File

@ -76,6 +76,12 @@ class IndexedLayersTests {
assertThat(layers.getLayer(mockEntry("META-INF/a/sub/folder/and/a/file"))).isEqualTo("application");
}
@Test
void getLayerWhenFileHasSpaceReturnsLayer() throws Exception {
IndexedLayers layers = new IndexedLayers(getIndex());
assertThat(layers.getLayer(mockEntry("a b/c d"))).isEqualTo("application");
}
private String getIndex() throws Exception {
ClassPathResource resource = new ClassPathResource("test-layers.idx", getClass());
InputStreamReader reader = new InputStreamReader(resource.getInputStream());

View File

@ -4,3 +4,4 @@
- "application":
- "BOOT-INF/classes/Demo.class"
- "META-INF/"
- "a b/c d"

View File

@ -104,7 +104,15 @@ class LayersIndexTests {
index.add(LAYER_A, "a2/b1");
index.add(LAYER_B, "a2/b2");
assertThatIndex(index).writesExpectedContent();
}
@Test
void writeToWhenSpaceInFileName() {
LayersIndex index = new LayersIndex(LAYER_A);
index.add(LAYER_A, "a b");
index.add(LAYER_A, "a b/c");
index.add(LAYER_A, "a b/d");
assertThatIndex(index).writesExpectedContent();
}
private LayersIndexAssert assertThatIndex(LayersIndex index) {