diff --git a/src/main/java/org/olat/core/commons/services/webdav/servlets/RequestUtil.java b/src/main/java/org/olat/core/commons/services/webdav/servlets/RequestUtil.java index 68330adbcbc8ddc06676fecc1fe2a1828240b957..4181ee649085232eea682574074c2d85d345a481 100644 --- a/src/main/java/org/olat/core/commons/services/webdav/servlets/RequestUtil.java +++ b/src/main/java/org/olat/core/commons/services/webdav/servlets/RequestUtil.java @@ -502,7 +502,8 @@ public final class RequestUtil { default: sb.append(ch); } } - return Normalizer.normalize(sb, Normalizer.Form.NFC); + String normalized = Normalizer.normalize(sb, Normalizer.Form.NFC); + return normalized.trim(); } } diff --git a/src/test/java/org/olat/core/commons/services/webdav/servlets/RequestUtilsTest.java b/src/test/java/org/olat/core/commons/services/webdav/servlets/RequestUtilsTest.java index 039c6d45a60e58b2ab0818ff4fac6a1343ec1a14..9130366c8651e0a5bf21e3ab78158bdbf0049cbf 100644 --- a/src/test/java/org/olat/core/commons/services/webdav/servlets/RequestUtilsTest.java +++ b/src/test/java/org/olat/core/commons/services/webdav/servlets/RequestUtilsTest.java @@ -19,8 +19,14 @@ */ package org.olat.core.commons.services.webdav.servlets; +import java.util.Arrays; +import java.util.Collection; + import org.junit.Assert; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; /** * @@ -28,19 +34,30 @@ import org.junit.Test; * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ +@RunWith(Parameterized.class) public class RequestUtilsTest { + @Parameters + public static Collection<Object[]> data() { + return Arrays.asList(new Object[][] { + { "Test", "Test" }, + { "Test\u00E9\u00E4", "Test\u00E9\u00E4" }, + { "%12 ?()_//", "_12 _()___" }, + { " Test ", "Test" } + }); + } + + private String filename; + private String normalizedFilename; + + public RequestUtilsTest(String filename, String normalizedFilename) { + this.filename = filename; + this.normalizedFilename = normalizedFilename; + } + @Test public void testNormalizeFilename() { - String simpleFilename = RequestUtil.normalizeFilename("Test"); - Assert.assertEquals("Test", simpleFilename); - - String accentFilename = RequestUtil.normalizeFilename("Test\u00E9\u00E4"); - Assert.assertEquals("Test\u00E9\u00E4", accentFilename); - - String moreSpecialChars = RequestUtil.normalizeFilename("%12 ?()_//"); - Assert.assertEquals("_12 _()___", moreSpecialChars); + String correctedFilename = RequestUtil.normalizeFilename(filename); + Assert.assertEquals(normalizedFilename, correctedFilename); } - - }