Update tests for long file paths
This commit is contained in:
parent
86a39f10d1
commit
a24c929acf
@ -15,12 +15,17 @@ namespace FileNamingTemplateTests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void equiv_GetValidFilename()
|
public void equiv_GetValidFilename()
|
||||||
{
|
{
|
||||||
var expected = @"C:\foo\bar\my_ book LONG_1234567890_1234567890_1234567890_123 [ID123456].txt";
|
var sb = new System.Text.StringBuilder();
|
||||||
var f1 = OLD_GetValidFilename(@"C:\foo\bar", "my: book LONG_1234567890_1234567890_1234567890_12345", "txt", "ID123456");
|
sb.Append('0', 300);
|
||||||
var f2 = NEW_GetValidFilename_FileNamingTemplate(@"C:\foo\bar", "my: book LONG_1234567890_1234567890_1234567890_12345", "txt", "ID123456");
|
var longText = sb.ToString();
|
||||||
|
|
||||||
f1.Should().Be(expected);
|
var expectedOld = "C:\\foo\\bar\\my_ book 00000000000000000000000000000000000000000 [ID123456].txt";
|
||||||
f1.Should().Be(f2);
|
var expectedNew = "C:\\foo\\bar\\my_ book 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 [ID123456].txt";
|
||||||
|
var f1 = OLD_GetValidFilename(@"C:\foo\bar", "my: book " + longText, "txt", "ID123456");
|
||||||
|
var f2 = NEW_GetValidFilename_FileNamingTemplate(@"C:\foo\bar", "my: book " + longText, "txt", "ID123456");
|
||||||
|
|
||||||
|
f1.Should().Be(expectedOld);
|
||||||
|
f2.Should().Be(expectedNew);
|
||||||
}
|
}
|
||||||
private static string OLD_GetValidFilename(string dirFullPath, string filename, string extension, string metadataSuffix)
|
private static string OLD_GetValidFilename(string dirFullPath, string filename, string extension, string metadataSuffix)
|
||||||
{
|
{
|
||||||
@ -58,7 +63,7 @@ namespace FileNamingTemplateTests
|
|||||||
var fileNamingTemplate = new FileNamingTemplate(fullfilename) { IllegalCharacterReplacements = "_" };
|
var fileNamingTemplate = new FileNamingTemplate(fullfilename) { IllegalCharacterReplacements = "_" };
|
||||||
fileNamingTemplate.AddParameterReplacement("title", filename);
|
fileNamingTemplate.AddParameterReplacement("title", filename);
|
||||||
fileNamingTemplate.AddParameterReplacement("id", metadataSuffix);
|
fileNamingTemplate.AddParameterReplacement("id", metadataSuffix);
|
||||||
return fileNamingTemplate.GetFilePath();
|
return fileNamingTemplate.GetFilePath().PathWithoutPrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
@ -101,7 +106,7 @@ namespace FileNamingTemplateTests
|
|||||||
var fileNamingTemplate = new FileNamingTemplate(t) { IllegalCharacterReplacements = " " };
|
var fileNamingTemplate = new FileNamingTemplate(t) { IllegalCharacterReplacements = " " };
|
||||||
fileNamingTemplate.AddParameterReplacement("chapter", chapterCountLeadingZeros);
|
fileNamingTemplate.AddParameterReplacement("chapter", chapterCountLeadingZeros);
|
||||||
fileNamingTemplate.AddParameterReplacement("title", suffix);
|
fileNamingTemplate.AddParameterReplacement("title", suffix);
|
||||||
return fileNamingTemplate.GetFilePath();
|
return fileNamingTemplate.GetFilePath().PathWithoutPrefix;
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
@ -109,7 +114,7 @@ namespace FileNamingTemplateTests
|
|||||||
{
|
{
|
||||||
var fileNamingTemplate = new FileNamingTemplate(@"\foo\<title>.txt");
|
var fileNamingTemplate = new FileNamingTemplate(@"\foo\<title>.txt");
|
||||||
fileNamingTemplate.AddParameterReplacement("title", @"s\l/a\s/h\e/s");
|
fileNamingTemplate.AddParameterReplacement("title", @"s\l/a\s/h\e/s");
|
||||||
fileNamingTemplate.GetFilePath().Should().Be(@"\foo\slashes.txt");
|
fileNamingTemplate.GetFilePath().PathWithoutPrefix.Should().Be(@"\foo\slashes.txt");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,7 +36,7 @@ namespace FileUtilityTests
|
|||||||
// remove empty directories
|
// remove empty directories
|
||||||
[DataRow(@"C:\a\\\b\c\\\d.txt", "ZZZ", @"C:\a\b\c\d.txt")]
|
[DataRow(@"C:\a\\\b\c\\\d.txt", "ZZZ", @"C:\a\b\c\d.txt")]
|
||||||
[DataRow(@"C:\""foo\<id>", "ZZZ", @"C:\ZZZfoo\ZZZidZZZ")]
|
[DataRow(@"C:\""foo\<id>", "ZZZ", @"C:\ZZZfoo\ZZZidZZZ")]
|
||||||
public void Tests(string inStr, string replacement, string outStr) => Assert.AreEqual(outStr, FileUtility.GetSafePath(inStr, replacement));
|
public void Tests(string inStr, string replacement, string outStr) => Assert.AreEqual(outStr, FileUtility.GetSafePath(inStr, replacement).PathWithoutPrefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestClass]
|
[TestClass]
|
||||||
@ -134,7 +134,7 @@ namespace FileUtilityTests
|
|||||||
// file end dots
|
// file end dots
|
||||||
[DataRow(@"C:\a bc\x y z\f i l e.txt . . .", @"C:\a bc\x y z\f i l e.txt")]
|
[DataRow(@"C:\a bc\x y z\f i l e.txt . . .", @"C:\a bc\x y z\f i l e.txt")]
|
||||||
public void Tests(string input, string expected)
|
public void Tests(string input, string expected)
|
||||||
=> FileUtility.GetValidFilename(input).Should().Be(expected);
|
=> FileUtility.GetValidFilename(input).PathWithoutPrefix.Should().Be(expected);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestClass]
|
[TestClass]
|
||||||
|
|||||||
@ -74,24 +74,28 @@ namespace TemplatesTests
|
|||||||
public void Tests(string template, string asin, string dirFullPath, string extension, string expected)
|
public void Tests(string template, string asin, string dirFullPath, string extension, string expected)
|
||||||
=> Templates.getFileNamingTemplate(GetLibraryBook(asin), template, dirFullPath, extension)
|
=> Templates.getFileNamingTemplate(GetLibraryBook(asin), template, dirFullPath, extension)
|
||||||
.GetFilePath()
|
.GetFilePath()
|
||||||
|
.PathWithoutPrefix
|
||||||
.Should().Be(expected);
|
.Should().Be(expected);
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void IfSeries_empty()
|
public void IfSeries_empty()
|
||||||
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<if series-><-if series>bar", @"C:\a\b", "ext")
|
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<if series-><-if series>bar", @"C:\a\b", "ext")
|
||||||
.GetFilePath()
|
.GetFilePath()
|
||||||
|
.PathWithoutPrefix
|
||||||
.Should().Be(@"C:\a\b\foobar.ext");
|
.Should().Be(@"C:\a\b\foobar.ext");
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void IfSeries_no_series()
|
public void IfSeries_no_series()
|
||||||
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", ""), "foo<if series->-<series>-<id>-<-if series>bar", @"C:\a\b", "ext")
|
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", ""), "foo<if series->-<series>-<id>-<-if series>bar", @"C:\a\b", "ext")
|
||||||
.GetFilePath()
|
.GetFilePath()
|
||||||
|
.PathWithoutPrefix
|
||||||
.Should().Be(@"C:\a\b\foobar.ext");
|
.Should().Be(@"C:\a\b\foobar.ext");
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void IfSeries_with_series()
|
public void IfSeries_with_series()
|
||||||
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<if series->-<series>-<id>-<-if series>bar", @"C:\a\b", "ext")
|
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<if series->-<series>-<id>-<-if series>bar", @"C:\a\b", "ext")
|
||||||
.GetFilePath()
|
.GetFilePath()
|
||||||
|
.PathWithoutPrefix
|
||||||
.Should().Be(@"C:\a\b\foo-Sherlock Holmes-asin-bar.ext");
|
.Should().Be(@"C:\a\b\foo-Sherlock Holmes-asin-bar.ext");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user