|
|
@@ -5,6 +5,9 @@ public class PathUtilsTests : TestBase {
|
|
|
|
|
|
[Test]
|
|
|
[Arguments(@"\\?\C:\foo\bar.txt", @"\\?\C:\foo")]
|
|
|
+ [Arguments(@"C:\foo\extra/bar.txt", @"C:\foo\extra")]
|
|
|
+ [Arguments(@"C:\foo/extra/bar.txt", @"C:\foo/extra")]
|
|
|
+ [Arguments(@"C:\foo/extra\bar.txt", @"C:\foo/extra")]
|
|
|
[Arguments(@"C:\foo\bar.txt", @"C:\foo")]
|
|
|
[Arguments(@"\\?\C:\foo\Bar", @"\\?\C:\foo")]
|
|
|
[Arguments(@"C:\foo\bar", @"C:\foo")]
|
|
|
@@ -12,27 +15,37 @@ public class PathUtilsTests : TestBase {
|
|
|
[Arguments(@"\\?\C:\foo\", @"\\?\C:")]
|
|
|
[Arguments(@"C:\foo", @"C:")]
|
|
|
[Arguments(@"C:\foo\", @"C:")]
|
|
|
- [Arguments("https://foo.bar/file/long/pack.zip?arg=1", "https://foo.bar/file/long")]
|
|
|
- [Arguments("https://foo.bar/file/", "https://foo.bar")]
|
|
|
- [Arguments("https://foo.bar/file/?arg=1", "https://foo.bar")]
|
|
|
- [Arguments("https://foo.bar/file?arg=1", "https://foo.bar")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long/pack.zip?arg=1", @"https://foo.bar/file\long")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long\pack.zip?arg=1", @"https://foo.bar/file\long")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long\pack.zip?arg=1", @"https://foo.bar/file/long")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long/pack.zip?arg=1", @"https://foo.bar/file/long")]
|
|
|
+ [Arguments(@"https://foo.bar/file/", "https://foo.bar")]
|
|
|
+ [Arguments(@"https://foo.bar/file/?arg=1", "https://foo.bar")]
|
|
|
+ [Arguments(@"https://foo.bar/file?arg=1", "https://foo.bar")]
|
|
|
public async Task 路径处理_RemoveLastPart(string input, string expected)
|
|
|
=> await Assert.That(PathUtils.RemoveLastPart(input)).IsEqualTo(expected);
|
|
|
|
|
|
[Test]
|
|
|
[Arguments(@"\\?\C:\foo\bar.txt", "bar.txt")]
|
|
|
+ [Arguments(@"C:\foo\extra/bar.txt", "bar.txt")]
|
|
|
+ [Arguments(@"C:\foo/extra/bar.txt", "bar.txt")]
|
|
|
+ [Arguments(@"C:\foo/extra\bar.txt", "bar.txt")]
|
|
|
[Arguments(@"C:\foo\bar.txt", "bar.txt")]
|
|
|
- [Arguments(@"\\?\C:\foo\bar", "bar")]
|
|
|
+ [Arguments(@"C:\foo\bar.txt", "bar.txt")]
|
|
|
+ [Arguments(@"\\?\C:\foo/bar", "bar")]
|
|
|
[Arguments(@"C:\foo\bar", "bar")]
|
|
|
[Arguments(@"C:\foo\bar\", "bar")]
|
|
|
[Arguments(@"\\?\C:\foo\", "foo")]
|
|
|
[Arguments(@"C:\foo", "foo")]
|
|
|
[Arguments(@"C:\foo\", "foo")]
|
|
|
- [Arguments("https://foo.bar/file/long/pack.zip?arg=1", "pack.zip")]
|
|
|
- [Arguments("https://foo.bar/file/", "file")]
|
|
|
- [Arguments("https://foo.bar/file/?arg=1", "file")]
|
|
|
- [Arguments("https://foo.bar/File?arg=1", "File")]
|
|
|
- [Arguments("https://cdn.modrinth.com/data/RvfAlf4Z/versions/XauQUBeR/Redstone Tweaks 2.5.3.zip?mr_download_reason=modpack", "Redstone Tweaks 2.5.3.zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long/pack.zip?arg=1", "pack.zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long\pack.zip?arg=1", "pack.zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long\pack.zip?arg=1", "pack.zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long/pack.zip?arg=1", "pack.zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file/", "file")]
|
|
|
+ [Arguments(@"https://foo.bar/file/?arg=1", "file")]
|
|
|
+ [Arguments(@"https://foo.bar/File?arg=1", "File")]
|
|
|
+ [Arguments(@"https://cdn.modrinth.com/data/RvfAlf4Z/versions/XauQUBeR\Redstone Tweaks 2.5.3.zip?mr_download_reason=modpack", "Redstone Tweaks 2.5.3.zip")]
|
|
|
public async Task 路径处理_GetLastPart(string input, string expected)
|
|
|
=> await Assert.That(PathUtils.GetLastPart(input)).IsEqualTo(expected);
|
|
|
|
|
|
@@ -41,24 +54,33 @@ public class PathUtilsTests : TestBase {
|
|
|
[Arguments(@"C:\foo\bar.2.txt", "bar.2")]
|
|
|
[Arguments(@"\\?\C:\foo\bar", "bar")]
|
|
|
[Arguments(@"C:\foo\bar", "bar")]
|
|
|
+ [Arguments(@"C:\foo.bar\how/long\path.txt", "path")]
|
|
|
+ [Arguments(@"C:\foo.bar\how/long/path.txt", "path")]
|
|
|
+ [Arguments(@"C:\foo.bar\how\long/path.txt", "path")]
|
|
|
[Arguments(@"C:\foo.bar\how\", "how")]
|
|
|
[Arguments(@"\\?\C:\foo\", "foo")]
|
|
|
[Arguments(@"C:\foo", "foo")]
|
|
|
[Arguments(@"C:\foo\", "foo")]
|
|
|
- [Arguments("cREate.jar.disabled", "cREate.jar")]
|
|
|
- [Arguments("create.jar", "create")]
|
|
|
- [Arguments("create", "create")]
|
|
|
- [Arguments("https://foo.bar/file/page.xaml.vb?arg=1", "page.xaml")]
|
|
|
- [Arguments("https://foo.bar/file/long/pack.zip?arg=1", "pack")]
|
|
|
- [Arguments("https://foo.bar/some.how/file/", "file")]
|
|
|
- [Arguments("https://foo.bar/file/?arg=1", "file")]
|
|
|
- [Arguments("https://foo.bar/file?arg=1", "file")]
|
|
|
+ [Arguments(@"cREate.jar.disabled", "cREate.jar")]
|
|
|
+ [Arguments(@"create.jar", "create")]
|
|
|
+ [Arguments(@"create", "create")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long/pack.zip?arg=1", "pack")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long\pack.zip?arg=1", "pack")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long\pack.zip?arg=1", "pack")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long/pack.zip?arg=1", "pack")]
|
|
|
+ [Arguments(@"https://foo.bar/file/page.xaml.vb?arg=1", "page.xaml")]
|
|
|
+ [Arguments(@"https://foo.bar/some.how/file/", "file")]
|
|
|
+ [Arguments(@"https://foo.bar/file/?arg=1", "file")]
|
|
|
+ [Arguments(@"https://foo.bar/file?arg=1", "file")]
|
|
|
public async Task 路径处理_GetFileNameWithoutExtension(string input, string expected)
|
|
|
=> await Assert.That(PathUtils.GetFileNameWithoutExtension(input)).IsEqualTo(expected);
|
|
|
|
|
|
[Test]
|
|
|
[Arguments(@"\\?\C:\FOO\BAR.TXT", "txt")]
|
|
|
[Arguments(@"C:\foo\bar.txt", "txt")]
|
|
|
+ [Arguments(@"C:\foo.bar\how/long\path.txt", "txt")]
|
|
|
+ [Arguments(@"C:\foo.bar\how/long/path.txt", "txt")]
|
|
|
+ [Arguments(@"C:\foo.bar\how\long/path.txt", "txt")]
|
|
|
[Arguments(@"\\?\C:\foo\bar", "")]
|
|
|
[Arguments(@"C:\foo\bar", "")]
|
|
|
[Arguments(@"C:\foo\bar\", "")]
|
|
|
@@ -66,6 +88,9 @@ public class PathUtilsTests : TestBase {
|
|
|
[Arguments(@"C:\foo", "")]
|
|
|
[Arguments(@"C:\foo\", "")]
|
|
|
[Arguments("create.jar.diSAbled", "disabled")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long/pack.zip?arg=1", "zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file\long\pack.zip?arg=1", "zip")]
|
|
|
+ [Arguments(@"https://foo.bar/file/long\pack.zip?arg=1", "zip")]
|
|
|
[Arguments("https://foo.bar/file/page.xaml.vb?arg=1", "vb")]
|
|
|
[Arguments("https://foo.bar/file/long/pack.ZIP?arg=1", "zip")]
|
|
|
[Arguments("https://foo.bar/file/", "")]
|