diff --git a/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs b/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs
index 2fb9c59e..c6b30dd8 100644
--- a/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs
+++ b/Source/_Tests/FileManager.Tests/FileNamingTemplateTests.cs
@@ -15,12 +15,17 @@ namespace FileNamingTemplateTests
[TestMethod]
public void equiv_GetValidFilename()
{
- var expected = @"C:\foo\bar\my_ book LONG_1234567890_1234567890_1234567890_123 [ID123456].txt";
- var f1 = OLD_GetValidFilename(@"C:\foo\bar", "my: book LONG_1234567890_1234567890_1234567890_12345", "txt", "ID123456");
- var f2 = NEW_GetValidFilename_FileNamingTemplate(@"C:\foo\bar", "my: book LONG_1234567890_1234567890_1234567890_12345", "txt", "ID123456");
+ var sb = new System.Text.StringBuilder();
+ sb.Append('0', 300);
+ var longText = sb.ToString();
- f1.Should().Be(expected);
- f1.Should().Be(f2);
+ var expectedOld = "C:\\foo\\bar\\my_ book 00000000000000000000000000000000000000000 [ID123456].txt";
+ 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)
{
@@ -58,7 +63,7 @@ namespace FileNamingTemplateTests
var fileNamingTemplate = new FileNamingTemplate(fullfilename) { IllegalCharacterReplacements = "_" };
fileNamingTemplate.AddParameterReplacement("title", filename);
fileNamingTemplate.AddParameterReplacement("id", metadataSuffix);
- return fileNamingTemplate.GetFilePath();
+ return fileNamingTemplate.GetFilePath().PathWithoutPrefix;
}
[TestMethod]
@@ -101,7 +106,7 @@ namespace FileNamingTemplateTests
var fileNamingTemplate = new FileNamingTemplate(t) { IllegalCharacterReplacements = " " };
fileNamingTemplate.AddParameterReplacement("chapter", chapterCountLeadingZeros);
fileNamingTemplate.AddParameterReplacement("title", suffix);
- return fileNamingTemplate.GetFilePath();
+ return fileNamingTemplate.GetFilePath().PathWithoutPrefix;
}
[TestMethod]
@@ -109,7 +114,7 @@ namespace FileNamingTemplateTests
{
var fileNamingTemplate = new FileNamingTemplate(@"\foo\
.txt");
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");
}
}
}
diff --git a/Source/_Tests/FileManager.Tests/FileUtilityTests.cs b/Source/_Tests/FileManager.Tests/FileUtilityTests.cs
index ad0b3d2d..c61c55b2 100644
--- a/Source/_Tests/FileManager.Tests/FileUtilityTests.cs
+++ b/Source/_Tests/FileManager.Tests/FileUtilityTests.cs
@@ -36,7 +36,7 @@ namespace FileUtilityTests
// remove empty directories
[DataRow(@"C:\a\\\b\c\\\d.txt", "ZZZ", @"C:\a\b\c\d.txt")]
[DataRow(@"C:\""foo\", "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]
@@ -134,7 +134,7 @@ namespace FileUtilityTests
// 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")]
public void Tests(string input, string expected)
- => FileUtility.GetValidFilename(input).Should().Be(expected);
+ => FileUtility.GetValidFilename(input).PathWithoutPrefix.Should().Be(expected);
}
[TestClass]
diff --git a/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs b/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs
index bd8d6db9..b0b417ff 100644
--- a/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs
+++ b/Source/_Tests/LibationFileManager.Tests/TemplatesTests.cs
@@ -74,24 +74,28 @@ namespace TemplatesTests
public void Tests(string template, string asin, string dirFullPath, string extension, string expected)
=> Templates.getFileNamingTemplate(GetLibraryBook(asin), template, dirFullPath, extension)
.GetFilePath()
+ .PathWithoutPrefix
.Should().Be(expected);
[TestMethod]
public void IfSeries_empty()
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo<-if series>bar", @"C:\a\b", "ext")
.GetFilePath()
+ .PathWithoutPrefix
.Should().Be(@"C:\a\b\foobar.ext");
[TestMethod]
public void IfSeries_no_series()
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", ""), "foo---<-if series>bar", @"C:\a\b", "ext")
.GetFilePath()
+ .PathWithoutPrefix
.Should().Be(@"C:\a\b\foobar.ext");
[TestMethod]
public void IfSeries_with_series()
=> Templates.getFileNamingTemplate(GetLibraryBook("asin", "Sherlock Holmes"), "foo---<-if series>bar", @"C:\a\b", "ext")
.GetFilePath()
+ .PathWithoutPrefix
.Should().Be(@"C:\a\b\foo-Sherlock Holmes-asin-bar.ext");
}
}