/**
* Copyright 2013-2014 Guoqiang Chen, Shanghai, China. All rights reserved.
*
* Email: subchen@gmail.com
* URL: http://subchen.github.io/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jetbrick.util;
import org.junit.Assert;
import org.junit.Test;
public class PathUtilsTest {
@Test
public void normalize() {
Assert.assertEquals("/a", PathUtils.normalize("/a"));
Assert.assertEquals("/a/b", PathUtils.normalize("/a/b"));
Assert.assertEquals("/a/b/c", PathUtils.normalize("/a/b/c"));
Assert.assertEquals("a/b/", PathUtils.normalize("a/b/"));
Assert.assertEquals("a/b/c", PathUtils.normalize("a/b/c"));
Assert.assertEquals("/a/b/d", PathUtils.normalize("/a/b/c/../d"));
Assert.assertEquals("/a/d", PathUtils.normalize("/a/b/c/../../d"));
Assert.assertEquals("a/d/e/", PathUtils.normalize("a/b/c/../../d/e/"));
Assert.assertEquals("/a/b", PathUtils.normalize("//a/b"));
Assert.assertEquals("../b/c", PathUtils.normalize("../a/../b/c"));
Assert.assertEquals("b/c", PathUtils.normalize("./a/.//../b/c"));
Assert.assertEquals("", PathUtils.normalize("a//b/./../c/../../"));
Assert.assertEquals("../../", PathUtils.normalize("a/../b/./../c/../../../"));
Assert.assertEquals("/path/file.ext", PathUtils.normalize("/path/file.ext"));
Assert.assertEquals("/path/file.ext", PathUtils.normalize("\\path\\file.ext"));
Assert.assertEquals("/file.ext", PathUtils.normalize("/path/..\\file.ext"));
Assert.assertEquals("path/file.ext", PathUtils.normalize("path\\.\\file.ext"));
}
@Test
public void concat() {
Assert.assertEquals("/a/b", PathUtils.concat("", "a/b"));
Assert.assertEquals("/a/b", PathUtils.concat("", "/a/b"));
Assert.assertEquals("a/b/c", PathUtils.concat("./a", "b/c"));
Assert.assertEquals("/a/b/c/d/", PathUtils.concat("/a/", "/b/c/d/"));
Assert.assertEquals("/a/c/", PathUtils.concat("/a/b/", "../c/"));
Assert.assertEquals("a/b/c/d", PathUtils.concat("./a/b", "/c/d"));
}
}