Skip to content

Commit

Permalink
Merge pull request #3 from Erik-White/fix-wim-filesystem
Browse files Browse the repository at this point in the history
Fix WIM filesystem
  • Loading branch information
LTRData committed Jan 24, 2024
2 parents 5ec9361 + 15ccf94 commit ba5b825
Show file tree
Hide file tree
Showing 5 changed files with 65 additions and 2 deletions.
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<Company>LTR Data</Company>
<Authors>Kenneth Bell;LordMike;Olof Lagerkvist</Authors>
<OutputPath>..\$(Configuration)</OutputPath>
<FileVersion>1.0.34</FileVersion>
<FileVersion>1.0.35</FileVersion>

<GenerateDocumentationFile>true</GenerateDocumentationFile>

Expand Down
2 changes: 1 addition & 1 deletion Library/DiscUtils.Streams/DiscUtils.Streams.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<PackageReference Include="System.Memory" Version="*" />
<PackageReference Include="System.Security.Cryptography.Algorithms" Version="4.3.1" />
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
<PackageReference Include="LTRData.Extensions" Version="*" />
<PackageReference Include="LTRData.Extensions" Version="1.0.10" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework.CompareTo(`net461`))' &gt;= 0">
Expand Down
1 change: 1 addition & 0 deletions Tests/LibraryTests/LibraryTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Swap\Data\" />
<Folder Include="Wim\Data\" />
</ItemGroup>
<ItemGroup>
<None Update="plist.xml">
Expand Down
Binary file added Tests/LibraryTests/Wim/Data/TestData.wim
Binary file not shown.
62 changes: 62 additions & 0 deletions Tests/LibraryTests/Wim/WimFileSystemTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using System.IO;
using System.Linq;
using Xunit;
using DiscUtils.Wim;

namespace LibraryTests.Wim;

public class WinFileSystemTest
{
private static string testDataPath = Path.Combine("..", "..", "LibraryTests", "Wim", "Data", "TestData.wim");

[Fact]
public void ReadRootDirectoryFiles()
{
using var fileStream = File.OpenRead(testDataPath);
var wimFile = new WimFile(fileStream);
var image = wimFile.GetImage(0);

var files = image.GetFiles(image.Root.FullName, "*.*", SearchOption.AllDirectories).ToList();

Assert.Equal(3, files.Count);
}

[Fact]
public void ReadSubDirectoryFiles()
{
using var fileStream = File.OpenRead(testDataPath);
var wimFile = new WimFile(fileStream);
var image = wimFile.GetImage(0);

var files = image.GetFiles("\\TestData", "*.*", SearchOption.AllDirectories).ToList();

Assert.Equal(3, files.Count);
}

[Fact]
public void ReadFilteredDirectory()
{
const string ExpectedDirectoryPath = "\\TestData\\Foo";

using var fileStream = File.OpenRead(testDataPath);
var wimFile = new WimFile(fileStream);
var image = wimFile.GetImage(0);

var directories = image.GetDirectories(image.Root.FullName, "Foo.*", SearchOption.AllDirectories).ToList();

Assert.Single(directories);
Assert.Equal(ExpectedDirectoryPath, directories[0]);
}

[Fact]
public void ReadFilteredFile()
{
using var fileStream = File.OpenRead(testDataPath);
var wimFile = new WimFile(fileStream);
var image = wimFile.GetImage(0);

var files = image.GetFiles("\\TestData\\Foo", "Lorem.*", SearchOption.AllDirectories).ToList();

Assert.Equal(2, files.Count);
}
}

0 comments on commit ba5b825

Please sign in to comment.