mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
54 lines
2.2 KiB
C#
54 lines
2.2 KiB
C#
using Flow.Launcher.Plugin.SharedCommands;
|
|
using NUnit.Framework;
|
|
using NUnit.Framework.Legacy;
|
|
|
|
namespace Flow.Launcher.Test
|
|
{
|
|
[TestFixture]
|
|
|
|
public class FilesFoldersTest
|
|
{
|
|
// Testcases from https://stackoverflow.com/a/31941905/20703207
|
|
// Disk
|
|
[TestCase(@"c:", @"c:\foo", true)]
|
|
[TestCase(@"c:\", @"c:\foo", true)]
|
|
// Slash
|
|
[TestCase(@"c:\foo\bar\", @"c:\foo\", false)]
|
|
[TestCase(@"c:\foo\bar", @"c:\foo\", false)]
|
|
[TestCase(@"c:\foo", @"c:\foo\bar", true)]
|
|
[TestCase(@"c:\foo\", @"c:\foo\bar", true)]
|
|
// File
|
|
[TestCase(@"c:\foo", @"c:\foo\a.txt", true)]
|
|
[TestCase(@"c:\foo", @"c:/foo/a.txt", true)]
|
|
[TestCase(@"c:\FOO\a.txt", @"c:\foo", false)]
|
|
[TestCase(@"c:\foo\a.txt", @"c:\foo\", false)]
|
|
[TestCase(@"c:\foobar\a.txt", @"c:\foo", false)]
|
|
[TestCase(@"c:\foobar\a.txt", @"c:\foo\", false)]
|
|
[TestCase(@"c:\foo\", @"c:\foo.txt", false)]
|
|
// Prefix
|
|
[TestCase(@"c:\foo", @"c:\foobar", false)]
|
|
[TestCase(@"C:\Program", @"C:\Program Files\", false)]
|
|
[TestCase(@"c:\foobar", @"c:\foo\a.txt", false)]
|
|
[TestCase(@"c:\foobar\", @"c:\foo\a.txt", false)]
|
|
// Edge case
|
|
[TestCase(@"c:\foo", @"c:\foo\..\bar\baz", false)]
|
|
[TestCase(@"c:\bar", @"c:\foo\..\bar\baz", true)]
|
|
[TestCase(@"c:\barr", @"c:\foo\..\bar\baz", false)]
|
|
public void GivenTwoPaths_WhenCheckPathContains_ThenShouldBeExpectedResult(string parentPath, string path, bool expectedResult)
|
|
{
|
|
ClassicAssert.AreEqual(expectedResult, FilesFolders.PathContains(parentPath, path));
|
|
}
|
|
|
|
// Equality
|
|
[TestCase(@"c:\foo", @"c:\foo", false)]
|
|
[TestCase(@"c:\foo\", @"c:\foo", false)]
|
|
[TestCase(@"c:\foo", @"c:\foo\", false)]
|
|
[TestCase(@"c:\foo", @"c:\foo", true)]
|
|
[TestCase(@"c:\foo\", @"c:\foo", true)]
|
|
[TestCase(@"c:\foo", @"c:\foo\", true)]
|
|
public void GivenTwoPathsAreTheSame_WhenCheckPathContains_ThenShouldBeExpectedResult(string parentPath, string path, bool expectedResult)
|
|
{
|
|
ClassicAssert.AreEqual(expectedResult, FilesFolders.PathContains(parentPath, path, allowEqual: expectedResult));
|
|
}
|
|
}
|
|
}
|