Skip to content

Commit d38215f

Browse files
committed
add basic test case for multiextent files
1 parent bc545a6 commit d38215f

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed
14.4 KB
Binary file not shown.
Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.IO;
22
using System.Linq;
3+
using System.Threading.Tasks;
34
using DiscUtils.Iso9660;
45
using LibraryTests.Utilities;
56
using Xunit;
@@ -11,17 +12,40 @@ public class SampleDataTests
1112
[Fact]
1213
public void AppleTestZip()
1314
{
14-
using var iso = Helpers.Helpers.LoadTestDataFileFromGZipFile("Iso9660", "apple-test.iso.gz");
15+
using var iso = Helpers.Helpers.LoadTestDataFileFromGZipFile(nameof(Iso9660), "apple-test.iso.gz");
1516
using var cr = new CDReader(iso, false);
1617

1718
var dir = cr.GetDirectoryInfo("sub-directory");
1819
Assert.NotNull(dir);
1920
Assert.Equal("sub-directory", dir.Name);
2021

21-
var file = dir.GetFiles("apple-test.txt");
22-
Assert.Single(file);
23-
Assert.Equal(21, file.First().Length);
24-
Assert.Equal("apple-test.txt", file.First().Name);
25-
Assert.Equal(dir, file.First().Directory);
22+
var files = dir.GetFiles("apple-test.txt").ToList();
23+
Assert.Single(files);
24+
Assert.Equal(21, files.First().Length);
25+
Assert.Equal("apple-test.txt", files.First().Name);
26+
Assert.Equal(dir, files.First().Directory);
27+
}
28+
29+
[Fact]
30+
public void MultiExtentFiles()
31+
{
32+
using var iso = Helpers.Helpers.LoadTestDataFileFromGZipFile(nameof(Iso9660), "multiextent.iso_header.gz");
33+
using var cr = new CDReader(iso, joliet: true, true);
34+
35+
var pathToMultiextentFiles = @"PS3_GAME\USRDIR\Resource\Common";
36+
var fsEntries = cr.GetFileSystemEntries(pathToMultiextentFiles).ToList();
37+
Assert.Equal(11, fsEntries.Count);
38+
39+
var dir = cr.GetDirectoryInfo(pathToMultiextentFiles);
40+
var files = dir.GetFiles().ToList();
41+
Assert.Equal(10, files.Count);
42+
43+
var misc0 = files.First(f => f.Name is "Misc0.FPK");
44+
var misc1 = files.First(f => f.Name is "Misc1.FPK");
45+
Assert.Equal(1464404972, misc0.Length);
46+
Assert.Equal(1585521232, misc1.Length);
47+
48+
var meClusters = cr.PathToClusters(misc0.FullName).ToList();
49+
Assert.Equal(2, meClusters.Count);
2650
}
2751
}

0 commit comments

Comments
 (0)