blob: a764c0310c0099385f9816a427438f2b09830a1e [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.camel.util;
import java.io.File;
import junit.framework.TestCase;
/**
* @version
*/
public class FileUtilTest extends TestCase {
public void testNormalizePath() {
if (FileUtil.isWindows()) {
assertEquals("foo\\bar", FileUtil.normalizePath("foo/bar"));
assertEquals("foo\\bar\\baz", FileUtil.normalizePath("foo/bar\\baz"));
} else {
assertEquals("foo/bar", FileUtil.normalizePath("foo/bar"));
assertEquals("foo/bar/baz", FileUtil.normalizePath("foo/bar\\baz"));
}
}
public void testStripLeadingSeparator() {
assertEquals(null, FileUtil.stripLeadingSeparator(null));
assertEquals("foo", FileUtil.stripLeadingSeparator("foo"));
assertEquals("foo/bar", FileUtil.stripLeadingSeparator("foo/bar"));
assertEquals("foo/", FileUtil.stripLeadingSeparator("foo/"));
assertEquals("foo/bar", FileUtil.stripLeadingSeparator("/foo/bar"));
assertEquals("foo/bar", FileUtil.stripLeadingSeparator("//foo/bar"));
assertEquals("foo/bar", FileUtil.stripLeadingSeparator("///foo/bar"));
}
public void testHasLeadingSeparator() {
assertEquals(false, FileUtil.hasLeadingSeparator(null));
assertEquals(false, FileUtil.hasLeadingSeparator("foo"));
assertEquals(false, FileUtil.hasLeadingSeparator("foo/bar"));
assertEquals(false, FileUtil.hasLeadingSeparator("foo/"));
assertEquals(true, FileUtil.hasLeadingSeparator("/foo/bar"));
assertEquals(true, FileUtil.hasLeadingSeparator("//foo/bar"));
assertEquals(true, FileUtil.hasLeadingSeparator("///foo/bar"));
}
public void testStripFirstLeadingSeparator() {
assertEquals(null, FileUtil.stripFirstLeadingSeparator(null));
assertEquals("foo", FileUtil.stripFirstLeadingSeparator("foo"));
assertEquals("foo/bar", FileUtil.stripFirstLeadingSeparator("foo/bar"));
assertEquals("foo/", FileUtil.stripFirstLeadingSeparator("foo/"));
assertEquals("foo/bar", FileUtil.stripFirstLeadingSeparator("/foo/bar"));
assertEquals("/foo/bar", FileUtil.stripFirstLeadingSeparator("//foo/bar"));
assertEquals("//foo/bar", FileUtil.stripFirstLeadingSeparator("///foo/bar"));
}
public void testStripTrailingSeparator() {
assertEquals(null, FileUtil.stripTrailingSeparator(null));
assertEquals("foo", FileUtil.stripTrailingSeparator("foo"));
assertEquals("foo/bar", FileUtil.stripTrailingSeparator("foo/bar"));
assertEquals("foo", FileUtil.stripTrailingSeparator("foo/"));
assertEquals("foo/bar", FileUtil.stripTrailingSeparator("foo/bar/"));
assertEquals("/foo/bar", FileUtil.stripTrailingSeparator("/foo/bar"));
assertEquals("/foo/bar", FileUtil.stripTrailingSeparator("/foo/bar/"));
assertEquals("/foo/bar", FileUtil.stripTrailingSeparator("/foo/bar//"));
assertEquals("/foo/bar", FileUtil.stripTrailingSeparator("/foo/bar///"));
}
public void testStripPath() {
assertEquals(null, FileUtil.stripPath(null));
assertEquals("", FileUtil.stripPath("/"));
assertEquals("foo.xml", FileUtil.stripPath("/foo.xml"));
assertEquals("foo", FileUtil.stripPath("foo"));
assertEquals("bar", FileUtil.stripPath("foo/bar"));
assertEquals("bar", FileUtil.stripPath("/foo/bar"));
}
public void testStripPathWithMixedSeparators() {
assertEquals(null, FileUtil.stripPath(null));
assertEquals("", FileUtil.stripPath("/"));
assertEquals("foo.xml", FileUtil.stripPath("/foo.xml"));
assertEquals("foo", FileUtil.stripPath("foo"));
assertEquals("baz", FileUtil.stripPath("foo/bar\\baz"));
assertEquals("bar", FileUtil.stripPath("\\foo\\bar"));
assertEquals("baz", FileUtil.stripPath("/foo\\bar/baz"));
}
public void testStripExt() {
assertEquals(null, FileUtil.stripExt(null));
assertEquals("foo", FileUtil.stripExt("foo"));
assertEquals("foo", FileUtil.stripExt("foo.xml"));
assertEquals("/foo/bar", FileUtil.stripExt("/foo/bar.xml"));
}
public void testOnlyPath() {
assertEquals(null, FileUtil.onlyPath(null));
assertEquals(null, FileUtil.onlyPath("foo"));
assertEquals(null, FileUtil.onlyPath("foo.xml"));
assertEquals("foo", FileUtil.onlyPath("foo/bar.xml"));
assertEquals("/foo", FileUtil.onlyPath("/foo/bar.xml"));
assertEquals("/foo/bar", FileUtil.onlyPath("/foo/bar/baz.xml"));
assertEquals("/", FileUtil.onlyPath("/foo.xml"));
assertEquals("/bar", FileUtil.onlyPath("/bar/foo.xml"));
}
public void testOnlyPathWithMixedSeparators() {
assertEquals(null, FileUtil.onlyPath(null));
assertEquals(null, FileUtil.onlyPath("foo"));
assertEquals(null, FileUtil.onlyPath("foo.xml"));
assertEquals("foo", FileUtil.onlyPath("foo/bar.xml"));
assertEquals("/foo", FileUtil.onlyPath("/foo\\bar.xml"));
assertEquals("\\foo\\bar", FileUtil.onlyPath("\\foo\\bar/baz.xml"));
assertEquals("\\", FileUtil.onlyPath("\\foo.xml"));
assertEquals("/bar", FileUtil.onlyPath("/bar\\foo.xml"));
}
public void testCompactPath() {
assertEquals(null, FileUtil.compactPath(null));
if (FileUtil.isWindows()) {
assertEquals("foo", FileUtil.compactPath("foo"));
assertEquals("bar", FileUtil.compactPath("foo\\..\\bar"));
assertEquals("bar\\baz", FileUtil.compactPath("foo\\..\\bar\\baz"));
assertEquals("foo\\baz", FileUtil.compactPath("foo\\bar\\..\\baz"));
assertEquals("baz", FileUtil.compactPath("foo\\bar\\..\\..\\baz"));
assertEquals("..\\baz", FileUtil.compactPath("foo\\bar\\..\\..\\..\\baz"));
assertEquals("..\\foo\\bar", FileUtil.compactPath("..\\foo\\bar"));
} else {
assertEquals("foo", FileUtil.compactPath("foo"));
assertEquals("bar", FileUtil.compactPath("foo/../bar"));
assertEquals("bar/baz", FileUtil.compactPath("foo/../bar/baz"));
assertEquals("foo/baz", FileUtil.compactPath("foo/bar/../baz"));
assertEquals("baz", FileUtil.compactPath("foo/bar/../../baz"));
assertEquals("../baz", FileUtil.compactPath("foo/bar/../../../baz"));
assertEquals("../foo/bar", FileUtil.compactPath("../foo/bar"));
}
}
public void testDefaultTempFileSuffixAndPrefix() throws Exception {
File tmp = FileUtil.createTempFile("tmp-", ".tmp");
assertNotNull(tmp);
assertTrue("Should be a file", tmp.isFile());
}
public void testDefaultTempFile() throws Exception {
File tmp = FileUtil.createTempFile(null, null);
assertNotNull(tmp);
assertTrue("Should be a file", tmp.isFile());
}
public void testDefaultTempFileParent() throws Exception {
File tmp = FileUtil.createTempFile(null, null, new File("target"));
assertNotNull(tmp);
assertTrue("Should be a file", tmp.isFile());
}
}