diff --git a/DocsifyBuildSidebar.sln b/DocsifyBuildSidebar.sln index 40e1d39..5f5623f 100644 --- a/DocsifyBuildSidebar.sln +++ b/DocsifyBuildSidebar.sln @@ -1,9 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30717.126 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33516.290 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocsifyBuildSidebar", "DocsifyBuildSidebar\DocsifyBuildSidebar.csproj", "{7B85196D-D0E6-4724-BF44-1FA2917797B5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DocsifyBuildSidebar", "DocsifyBuildSidebar\DocsifyBuildSidebar.csproj", "{7B85196D-D0E6-4724-BF44-1FA2917797B5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DocsifyBuildSidebarTests", "DocsifyBuildSidebarTests\DocsifyBuildSidebarTests.csproj", "{D4C87DBB-8C34-4B9A-90D6-EF00911C759E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,6 +17,10 @@ Global {7B85196D-D0E6-4724-BF44-1FA2917797B5}.Debug|Any CPU.Build.0 = Debug|Any CPU {7B85196D-D0E6-4724-BF44-1FA2917797B5}.Release|Any CPU.ActiveCfg = Release|Any CPU {7B85196D-D0E6-4724-BF44-1FA2917797B5}.Release|Any CPU.Build.0 = Release|Any CPU + {D4C87DBB-8C34-4B9A-90D6-EF00911C759E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D4C87DBB-8C34-4B9A-90D6-EF00911C759E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D4C87DBB-8C34-4B9A-90D6-EF00911C759E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D4C87DBB-8C34-4B9A-90D6-EF00911C759E}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/DocsifyBuildSidebar/Utils.cs b/DocsifyBuildSidebar/Utils.cs index 833f8c6..e87504a 100644 --- a/DocsifyBuildSidebar/Utils.cs +++ b/DocsifyBuildSidebar/Utils.cs @@ -51,7 +51,7 @@ public static string GenerateSpace(int n) /// public static string ReplaceSpace(string data) { - return Regex.Replace(data, @"/\s{1,1}/g", "%20"); + return Regex.Replace(data, @"\s{1,1}", "%20"); } /// @@ -61,7 +61,7 @@ public static string ReplaceSpace(string data) /// public static string GetFileNameWithoutExtension(this FileInfo file) { - return file.Name.Replace(file.Extension, ""); + return Path.GetFileNameWithoutExtension(file.Name); } /// @@ -71,7 +71,7 @@ public static string GetFileNameWithoutExtension(this FileInfo file) /// public static string GetFileRelativePath(this FileInfo file) { - return file.FullName.Replace(GetCurrentDirectory(), "").TrimStart('\\').Replace("\\", "/"); + return file.FullName.Replace(GetCurrentDirectory(), "").TrimStart('\\').Replace("\\", "/"); } /// diff --git a/DocsifyBuildSidebarTests/DocsifyBuildSidebarTests.csproj b/DocsifyBuildSidebarTests/DocsifyBuildSidebarTests.csproj new file mode 100644 index 0000000..fb853cc --- /dev/null +++ b/DocsifyBuildSidebarTests/DocsifyBuildSidebarTests.csproj @@ -0,0 +1,29 @@ + + + + net7.0 + enable + enable + + false + true + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/DocsifyBuildSidebarTests/Usings.cs b/DocsifyBuildSidebarTests/Usings.cs new file mode 100644 index 0000000..a611174 --- /dev/null +++ b/DocsifyBuildSidebarTests/Usings.cs @@ -0,0 +1 @@ +global using Xunit; \ No newline at end of file diff --git a/DocsifyBuildSidebarTests/UtilsTests.cs b/DocsifyBuildSidebarTests/UtilsTests.cs new file mode 100644 index 0000000..d30ad84 --- /dev/null +++ b/DocsifyBuildSidebarTests/UtilsTests.cs @@ -0,0 +1,33 @@ +using DocsifyBuildSidebar; + +using Xunit.Abstractions; + +namespace DocsifyBuildSidebarTests +{ + public class UtilsTests + { + + public ITestOutputHelper Log { get; set; } + public UtilsTests(ITestOutputHelper log) + { + Log = log; + } + + [Fact] + public void Test_GenerateSpace() + { + + Assert.Equal(" ", Utils.GenerateSpace(1)); + Assert.Equal(" ", Utils.GenerateSpace(2)); + Assert.Equal(" ", Utils.GenerateSpace(3)); + } + + [Fact] + public void Test_ReplaceSpace() + { + var res = Utils.ReplaceSpace("测试数据 嘿嘿嘿 按按 问问"); + Assert.Equal("测试数据%20嘿嘿嘿%20按按%20问问", res); + } + + } +} \ No newline at end of file