修复PathMover.moveContent问题

This commit is contained in:
Looly 2024-06-17 10:51:38 +08:00
parent afc4e32790
commit 510e5002f2

View File

@ -17,10 +17,13 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.io.File;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import static org.junit.jupiter.api.Assertions.*;
public class PathUtilTest { public class PathUtilTest {
@SuppressWarnings("DuplicateExpressions") @SuppressWarnings("DuplicateExpressions")
@ -28,14 +31,14 @@ public class PathUtilTest {
void ofTest() { void ofTest() {
// 绝对路径测试 // 绝对路径测试
Path path = PathUtil.of(Paths.get("d:/test/hutool"), Paths.get("data1"), Paths.get("data2")); Path path = PathUtil.of(Paths.get("d:/test/hutool"), Paths.get("data1"), Paths.get("data2"));
Assertions.assertEquals("d:/test/hutool/data1/data2", path.toString().replace('\\', '/')); assertEquals("d:/test/hutool/data1/data2", path.toString().replace('\\', '/'));
// 相对路径测试 // 相对路径测试
path = PathUtil.of(Paths.get("hutool"), Paths.get("data1"), Paths.get("data2")); path = PathUtil.of(Paths.get("hutool"), Paths.get("data1"), Paths.get("data2"));
Assertions.assertEquals("hutool/data1/data2", path.toString().replace('\\', '/')); assertEquals("hutool/data1/data2", path.toString().replace('\\', '/'));
path = PathUtil.of(Paths.get("hutool")); path = PathUtil.of(Paths.get("hutool"));
Assertions.assertEquals("hutool", path.toString().replace('\\', '/')); assertEquals("hutool", path.toString().replace('\\', '/'));
path = PathUtil.of((Path) null); path = PathUtil.of((Path) null);
Assertions.assertNull(path); Assertions.assertNull(path);
@ -92,16 +95,16 @@ public class PathUtilTest {
@Disabled @Disabled
public void getMimeTypeTest(){ public void getMimeTypeTest(){
String mimeType = PathUtil.getMimeType(Paths.get("d:/test/test.jpg")); String mimeType = PathUtil.getMimeType(Paths.get("d:/test/test.jpg"));
Assertions.assertEquals("image/jpeg", mimeType); assertEquals("image/jpeg", mimeType);
mimeType = PathUtil.getMimeType(Paths.get("d:/test/test.mov")); mimeType = PathUtil.getMimeType(Paths.get("d:/test/test.mov"));
Assertions.assertEquals("video/quicktime", mimeType); assertEquals("video/quicktime", mimeType);
} }
@Test @Test
public void getMimeOfRarTest(){ public void getMimeOfRarTest(){
final String contentType = FileUtil.getMimeType("a001.rar"); final String contentType = FileUtil.getMimeType("a001.rar");
Assertions.assertTrue( assertTrue(
ArrayUtil.contains( ArrayUtil.contains(
new String[]{ new String[]{
"application/x-rar-compressed", "application/x-rar-compressed",
@ -113,7 +116,7 @@ public class PathUtilTest {
@Test @Test
public void getMimeOf7zTest(){ public void getMimeOf7zTest(){
final String contentType = FileUtil.getMimeType("a001.7z"); final String contentType = FileUtil.getMimeType("a001.7z");
Assertions.assertEquals("application/x-7z-compressed", contentType); assertEquals("application/x-7z-compressed", contentType);
} }
/** /**
@ -128,6 +131,33 @@ public class PathUtilTest {
@Test @Test
public void issue3179Test() { public void issue3179Test() {
final String mimeType = PathUtil.getMimeType(Paths.get("xxxx.jpg")); final String mimeType = PathUtil.getMimeType(Paths.get("xxxx.jpg"));
Assertions.assertEquals("image/jpeg", mimeType); assertEquals("image/jpeg", mimeType);
}
@Test
public void equalsTest() {
// 源文件和目标文件都不存在
final File srcFile = FileUtil.file("d:/hutool.jpg");
final File destFile = FileUtil.file("d:/hutool.jpg");
final boolean equals = PathUtil.equals(srcFile.toPath(), destFile.toPath());
assertTrue(equals);
// 源文件存在目标文件不存在
final File srcFile1 = FileUtil.file("hutool.jpg");
final File destFile1 = FileUtil.file("d:/hutool.jpg");
final boolean notEquals = PathUtil.equals(srcFile1.toPath(), destFile1.toPath());
assertFalse(notEquals);
}
@Test
@Disabled
void isSameFileTest() {
// 源文件和目标文件都不存在
final File srcFile = FileUtil.file("f:/hutool.jpg");
final File destFile = FileUtil.file("f:/hutool.jpg");
assertTrue(PathUtil.isSameFile(srcFile.toPath(), destFile.toPath()));
} }
} }