mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 01:36:31 +02:00
[Chore] System.IO.Abstractions update (#21061)
* System.IO.Abstractions update * fix tests
This commit is contained in:
committed by
GitHub
parent
1c264e0899
commit
887da6dc1a
@@ -19,8 +19,8 @@
|
|||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="12.2.3" />
|
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||||
// See the LICENSE file in the project root for more information.
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO.Abstractions.TestingHelpers;
|
using System.IO.Abstractions.TestingHelpers;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Hosts.Helpers;
|
using Hosts.Helpers;
|
||||||
using Hosts.Models;
|
using Hosts.Models;
|
||||||
using Hosts.Settings;
|
using Hosts.Settings;
|
||||||
|
using Hosts.Tests.Mocks;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using Settings.UI.Library.Enumerations;
|
using Settings.UI.Library.Enumerations;
|
||||||
@@ -30,13 +30,8 @@ namespace Hosts.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void Hosts_Exists()
|
public void Hosts_Exists()
|
||||||
{
|
{
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
fileSystem.AddFile(service.HostsFilePath, new MockFileData(string.Empty));
|
fileSystem.AddFile(service.HostsFilePath, new MockFileData(string.Empty));
|
||||||
var result = service.Exists();
|
var result = service.Exists();
|
||||||
@@ -47,15 +42,8 @@ namespace Hosts.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void Hosts_Not_Exists()
|
public void Hosts_Not_Exists()
|
||||||
{
|
{
|
||||||
var fileSystem = new MockFileSystem(new Dictionary<string, MockFileData>
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
})
|
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
var result = service.Exists();
|
var result = service.Exists();
|
||||||
|
|
||||||
@@ -76,13 +64,8 @@ namespace Hosts.Tests
|
|||||||
# 10.1.1.30 host30 host30.local # new entry
|
# 10.1.1.30 host30 host30.local # new entry
|
||||||
";
|
";
|
||||||
|
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
||||||
|
|
||||||
@@ -106,13 +89,8 @@ namespace Hosts.Tests
|
|||||||
@"10.1.1.2 host2 host2.local # another comment
|
@"10.1.1.2 host2 host2.local # another comment
|
||||||
";
|
";
|
||||||
|
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
||||||
|
|
||||||
@@ -137,13 +115,8 @@ namespace Hosts.Tests
|
|||||||
10.1.1.2 host2 host2.local # another comment
|
10.1.1.2 host2 host2.local # another comment
|
||||||
";
|
";
|
||||||
|
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
||||||
|
|
||||||
@@ -162,11 +135,7 @@ namespace Hosts.Tests
|
|||||||
[TestMethod]
|
[TestMethod]
|
||||||
public async Task Empty_Hosts()
|
public async Task Empty_Hosts()
|
||||||
{
|
{
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
@@ -197,14 +166,9 @@ namespace Hosts.Tests
|
|||||||
10.1.1.2 host2 host2.local # another comment
|
10.1.1.2 host2 host2.local # another comment
|
||||||
";
|
";
|
||||||
|
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
userSettings.Setup(m => m.AdditionalLinesPosition).Returns(AdditionalLinesPosition.Top);
|
userSettings.Setup(m => m.AdditionalLinesPosition).Returns(AdditionalLinesPosition.Top);
|
||||||
|
|
||||||
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
var service = new HostsService(fileSystem, userSettings.Object, _elevationHelper.Object);
|
||||||
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
fileSystem.AddFile(service.HostsFilePath, new MockFileData(content));
|
||||||
|
|
||||||
@@ -234,11 +198,7 @@ namespace Hosts.Tests
|
|||||||
# footer
|
# footer
|
||||||
";
|
";
|
||||||
|
|
||||||
var fileSystem = new MockFileSystem
|
var fileSystem = new CustomMockFileSystem();
|
||||||
{
|
|
||||||
FileSystemWatcher = new TestFileSystemWatcherFactory(),
|
|
||||||
};
|
|
||||||
|
|
||||||
var userSettings = new Mock<IUserSettings>();
|
var userSettings = new Mock<IUserSettings>();
|
||||||
userSettings.Setup(m => m.AdditionalLinesPosition).Returns(AdditionalLinesPosition.Bottom);
|
userSettings.Setup(m => m.AdditionalLinesPosition).Returns(AdditionalLinesPosition.Bottom);
|
||||||
|
|
||||||
|
|||||||
20
src/modules/Hosts/Hosts.Tests/Mocks/CustomMockFileSystem.cs
Normal file
20
src/modules/Hosts/Hosts.Tests/Mocks/CustomMockFileSystem.cs
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
// Copyright (c) Microsoft Corporation
|
||||||
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||||
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
|
using System.IO.Abstractions;
|
||||||
|
using System.IO.Abstractions.TestingHelpers;
|
||||||
|
|
||||||
|
namespace Hosts.Tests.Mocks
|
||||||
|
{
|
||||||
|
public class CustomMockFileSystem : MockFileSystem
|
||||||
|
{
|
||||||
|
public override IFileSystemWatcherFactory FileSystemWatcher { get; }
|
||||||
|
|
||||||
|
public CustomMockFileSystem()
|
||||||
|
: base()
|
||||||
|
{
|
||||||
|
FileSystemWatcher = new MockFileSystemWatcherFactory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,13 +2,14 @@
|
|||||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||||
// See the LICENSE file in the project root for more information.
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.IO.Abstractions;
|
using System.IO.Abstractions;
|
||||||
|
|
||||||
namespace Hosts.Tests
|
namespace Hosts.Tests.Mocks
|
||||||
{
|
{
|
||||||
public class TestFileSystemWatcher : FileSystemWatcherBase
|
public class MockFileSystemWatcher : FileSystemWatcherBase
|
||||||
{
|
{
|
||||||
public override bool IncludeSubdirectories { get; set; }
|
public override bool IncludeSubdirectories { get; set; }
|
||||||
|
|
||||||
@@ -26,13 +27,15 @@ namespace Hosts.Tests
|
|||||||
|
|
||||||
public override ISynchronizeInvoke SynchronizingObject { get; set; }
|
public override ISynchronizeInvoke SynchronizingObject { get; set; }
|
||||||
|
|
||||||
public override WaitForChangedResult WaitForChanged(WatcherChangeTypes changeType) => default(WaitForChangedResult);
|
public override Collection<string> Filters => throw new System.NotImplementedException();
|
||||||
|
|
||||||
public override WaitForChangedResult WaitForChanged(WatcherChangeTypes changeType, int timeout) => default(WaitForChangedResult);
|
public override WaitForChangedResult WaitForChanged(WatcherChangeTypes changeType) => default;
|
||||||
|
|
||||||
public TestFileSystemWatcher(string path) => Path = path;
|
public override WaitForChangedResult WaitForChanged(WatcherChangeTypes changeType, int timeout) => default;
|
||||||
|
|
||||||
public TestFileSystemWatcher(string path, string filter)
|
public MockFileSystemWatcher(string path) => Path = path;
|
||||||
|
|
||||||
|
public MockFileSystemWatcher(string path, string filter)
|
||||||
{
|
{
|
||||||
Path = path;
|
Path = path;
|
||||||
Filter = filter;
|
Filter = filter;
|
||||||
@@ -4,16 +4,16 @@
|
|||||||
|
|
||||||
using System.IO.Abstractions;
|
using System.IO.Abstractions;
|
||||||
|
|
||||||
namespace Hosts.Tests
|
namespace Hosts.Tests.Mocks
|
||||||
{
|
{
|
||||||
public class TestFileSystemWatcherFactory : IFileSystemWatcherFactory
|
public class MockFileSystemWatcherFactory : IFileSystemWatcherFactory
|
||||||
{
|
{
|
||||||
public IFileSystemWatcher CreateNew() => new TestFileSystemWatcher(null);
|
public IFileSystemWatcher CreateNew() => new MockFileSystemWatcher(null);
|
||||||
|
|
||||||
public IFileSystemWatcher CreateNew(string path) => new TestFileSystemWatcher(path);
|
public IFileSystemWatcher CreateNew(string path) => new MockFileSystemWatcher(path);
|
||||||
|
|
||||||
public IFileSystemWatcher CreateNew(string path, string filter) => new TestFileSystemWatcher(path, filter);
|
public IFileSystemWatcher CreateNew(string path, string filter) => new MockFileSystemWatcher(path, filter);
|
||||||
|
|
||||||
public IFileSystemWatcher FromPath(string path) => new TestFileSystemWatcher(path);
|
public IFileSystemWatcher FromPath(string path) => new MockFileSystemWatcher(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.1.5" />
|
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.1.5" />
|
||||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.1" />
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.1" />
|
||||||
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
<PackageReference Include="Microsoft.Xaml.Behaviors.WinUI.Managed" Version="2.0.9" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="WinUIEx" Version="1.8.0" />
|
<PackageReference Include="WinUIEx" Version="1.8.0" />
|
||||||
<Manifest Include="$(ApplicationManifest)" />
|
<Manifest Include="$(ApplicationManifest)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<PackageReference Include="ModernWpfUI" Version="0.9.6" />
|
<PackageReference Include="ModernWpfUI" Version="0.9.6" />
|
||||||
<PackageReference Include="System.ComponentModel.Composition" Version="6.0.0" />
|
<PackageReference Include="System.ComponentModel.Composition" Version="6.0.0" />
|
||||||
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
|
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
|
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
|
||||||
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ModernWpfUI" Version="0.9.6" />
|
<PackageReference Include="ModernWpfUI" Version="0.9.6" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.Text.Json" Version="6.0.2" />
|
<PackageReference Include="System.Text.Json" Version="6.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
<PackageReference Include="Moq" Version="4.16.1" />
|
<PackageReference Include="Moq" Version="4.16.1" />
|
||||||
<PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestAdapter" Version="2.2.3" />
|
||||||
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
|
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.39" />
|
||||||
<PackageReference Include="ModernWpfUI" Version="0.9.6" />
|
<PackageReference Include="ModernWpfUI" Version="0.9.6" />
|
||||||
<PackageReference Include="System.IO.Abstractions">
|
<PackageReference Include="System.IO.Abstractions">
|
||||||
<Version>12.2.5</Version>
|
<Version>17.2.3</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="System.Text.Json" Version="6.0.2" />
|
<PackageReference Include="System.Text.Json" Version="6.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.IO.Abstractions.TestingHelpers;
|
using System.IO.Abstractions.TestingHelpers;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Microsoft.Plugin.Folder.Sources;
|
using Microsoft.Plugin.Folder.Sources;
|
||||||
@@ -31,7 +32,7 @@ namespace Microsoft.Plugin.Folder.UnitTests
|
|||||||
{ @"c:\Test\b\", new MockDirectoryData() },
|
{ @"c:\Test\b\", new MockDirectoryData() },
|
||||||
});
|
});
|
||||||
|
|
||||||
_queryFileSystemInfoMock = new QueryFileSystemInfo(_fileSystem.DirectoryInfo);
|
_queryFileSystemInfoMock = new QueryFileSystemInfo(_fileSystem.DirectoryInfo, MatchType.Simple, FileAttributes.Hidden | FileAttributes.System);
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
<PackageReference Include="MSTest.TestFramework" Version="2.2.3" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||||
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="12.2.3" />
|
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="JetBrains.Annotations" Version="2021.3.0" />
|
<PackageReference Include="JetBrains.Annotations" Version="2021.3.0" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.Runtime" Version="4.3.1" />
|
<PackageReference Include="System.Runtime" Version="4.3.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright (c) Microsoft Corporation
|
// Copyright (c) Microsoft Corporation
|
||||||
// The Microsoft Corporation licenses this file to you under the MIT license.
|
// The Microsoft Corporation licenses this file to you under the MIT license.
|
||||||
// See the LICENSE file in the project root for more information.
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
@@ -12,23 +12,27 @@ namespace Microsoft.Plugin.Folder.Sources
|
|||||||
public class QueryFileSystemInfo : IQueryFileSystemInfo
|
public class QueryFileSystemInfo : IQueryFileSystemInfo
|
||||||
{
|
{
|
||||||
private readonly IDirectoryInfoFactory _directoryInfoFactory;
|
private readonly IDirectoryInfoFactory _directoryInfoFactory;
|
||||||
|
private readonly MatchType _matchType;
|
||||||
|
private readonly FileAttributes _attributesToSkip;
|
||||||
|
|
||||||
public QueryFileSystemInfo(IDirectoryInfoFactory directoryInfoFactory)
|
public QueryFileSystemInfo(IDirectoryInfoFactory directoryInfoFactory, MatchType matchType = MatchType.Win32, FileAttributes attributesToSkip = FileAttributes.Hidden)
|
||||||
{
|
{
|
||||||
_directoryInfoFactory = directoryInfoFactory;
|
_directoryInfoFactory = directoryInfoFactory;
|
||||||
|
_matchType = matchType;
|
||||||
|
_attributesToSkip = attributesToSkip;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<DisplayFileInfo> MatchFileSystemInfo(string search, string incompleteName, bool isRecursive)
|
public IEnumerable<DisplayFileInfo> MatchFileSystemInfo(string search, string incompleteName, bool isRecursive)
|
||||||
{
|
{
|
||||||
// search folder and add results
|
// search folder and add results
|
||||||
var directoryInfo = _directoryInfoFactory.FromDirectoryName(search);
|
var directoryInfo = _directoryInfoFactory.FromDirectoryName(search);
|
||||||
var fileSystemInfos = directoryInfo.EnumerateFileSystemInfos(incompleteName, new EnumerationOptions()
|
var fileSystemInfos = directoryInfo.EnumerateFileSystemInfos(incompleteName, new EnumerationOptions
|
||||||
{
|
{
|
||||||
MatchType = MatchType.Win32,
|
MatchType = _matchType,
|
||||||
RecurseSubdirectories = isRecursive,
|
RecurseSubdirectories = isRecursive,
|
||||||
IgnoreInaccessible = true,
|
IgnoreInaccessible = true,
|
||||||
ReturnSpecialDirectories = false,
|
ReturnSpecialDirectories = false,
|
||||||
AttributesToSkip = FileAttributes.Hidden,
|
AttributesToSkip = _attributesToSkip,
|
||||||
MatchCasing = MatchCasing.PlatformDefault,
|
MatchCasing = MatchCasing.PlatformDefault,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
<PackageReference Include="JetBrains.Annotations" Version="2021.3.0" />
|
<PackageReference Include="JetBrains.Annotations" Version="2021.3.0" />
|
||||||
<PackageReference Include="NLog.Schema" Version="5.0.4" />
|
<PackageReference Include="NLog.Schema" Version="5.0.4" />
|
||||||
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.Runtime" Version="4.3.1" />
|
<PackageReference Include="System.Runtime" Version="4.3.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.Runtime.WindowsRuntime" Version="4.7.0" />
|
<PackageReference Include="System.Runtime.WindowsRuntime" Version="4.7.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.42" />
|
<PackageReference Include="HtmlAgilityPack" Version="1.11.42" />
|
||||||
<PackageReference Include="Markdig.Signed" Version="0.27.0" />
|
<PackageReference Include="Markdig.Signed" Version="0.27.0" />
|
||||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1343.22" />
|
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1343.22" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1343.22" />
|
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1343.22" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -27,6 +27,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1343.22" />
|
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1343.22" />
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="System.IO.Abstractions" Version="12.2.5" />
|
<PackageReference Include="System.IO.Abstractions" Version="17.2.3" />
|
||||||
<PackageReference Include="System.Text.Json" Version="6.0.2" />
|
<PackageReference Include="System.Text.Json" Version="6.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="12.2.3" />
|
<PackageReference Include="System.IO.Abstractions.TestingHelpers" Version="17.2.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user