/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.core.util; import org.mule.tck.junit4.AbstractMuleTestCase; import org.mule.tck.size.SmallTest; import java.io.File; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; @SmallTest public class FilenameUtilsTestCase extends AbstractMuleTestCase { @Test public void testFileWithPathComponentsNullParameter() { File result = FilenameUtils.fileWithPathComponents(null); assertNull(result); } @Test public void testFileWithNullElements() { File tempDir = getBuidDirectory(); File result = FilenameUtils.fileWithPathComponents(new String[] {tempDir.getAbsolutePath(), "tmp", null, "bar"}); // make sure that we can validate the test result on all platforms. String resultNormalized = result.getAbsolutePath().replace(File.separatorChar, '|'); String excpected = tempDir.getAbsolutePath().replace(File.separatorChar, '|') + "|tmp|bar"; assertEquals(excpected, resultNormalized); } @Test public void testFileWithPathComponents() { String tempDirPath = getBuidDirectory().getAbsolutePath(); File result = FilenameUtils.fileWithPathComponents(new String[] {tempDirPath, "tmp", "foo", "bar"}); // make sure that we can validate the test result on all platforms. String resultNormalized = result.getAbsolutePath().replace(File.separatorChar, '|'); String expected = tempDirPath.replace(File.separatorChar, '|') + "|tmp|foo|bar"; assertEquals(expected, resultNormalized); } /** * Used to obtain base directory used in tests. Uses the build directory; "target" in the current working directory. */ private File getBuidDirectory() { return FileUtils.newFile(SystemUtils.getUserDir(), "target"); } }