mirror of
https://github.com/Thealexbarney/LibHac.git
synced 2024-11-14 10:49:41 +01:00
52 lines
1.9 KiB
C#
52 lines
1.9 KiB
C#
|
using LibHac.Common;
|
|||
|
using LibHac.Fs;
|
|||
|
using LibHac.Fs.Shim;
|
|||
|
using LibHac.Ncm;
|
|||
|
using Xunit;
|
|||
|
|
|||
|
namespace LibHac.Tests.Fs.FileSystemClientTests.ShimTests
|
|||
|
{
|
|||
|
public class BcatSaveData
|
|||
|
{
|
|||
|
[Fact]
|
|||
|
public void MountBcatSaveData_SaveDoesNotExist_ReturnsTargetNotFound()
|
|||
|
{
|
|||
|
var applicationId = new TitleId(1);
|
|||
|
FileSystemClient fs = FileSystemServerFactory.CreateClient(true);
|
|||
|
|
|||
|
Assert.Result(ResultFs.TargetNotFound, fs.MountBcatSaveData("bcat_test".ToU8Span(), applicationId));
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void MountBcatSaveData_SaveExists_ReturnsSuccess()
|
|||
|
{
|
|||
|
var applicationId = new TitleId(1);
|
|||
|
FileSystemClient fs = FileSystemServerFactory.CreateClient(true);
|
|||
|
|
|||
|
Assert.Success(fs.CreateBcatSaveData(applicationId, 0x400000));
|
|||
|
Assert.Success(fs.MountBcatSaveData("bcat_test".ToU8Span(), applicationId));
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void MountBcatSaveData_WrittenDataPersists()
|
|||
|
{
|
|||
|
var applicationId = new TitleId(1);
|
|||
|
FileSystemClient fs = FileSystemServerFactory.CreateClient(true);
|
|||
|
|
|||
|
Assert.Success(fs.CreateBcatSaveData(applicationId, 0x400000));
|
|||
|
Assert.Success(fs.MountBcatSaveData("bcat_test".ToU8Span(), applicationId));
|
|||
|
|
|||
|
// Check that the path doesn't exist
|
|||
|
Assert.Result(ResultFs.PathNotFound, fs.GetEntryType(out _, "bcat_test:/file".ToU8Span()));
|
|||
|
|
|||
|
fs.CreateFile("bcat_test:/file".ToU8Span(), 0);
|
|||
|
fs.Commit("bcat_test".ToU8Span());
|
|||
|
fs.Unmount("bcat_test".ToU8Span());
|
|||
|
|
|||
|
Assert.Success(fs.MountBcatSaveData("bcat_test".ToU8Span(), applicationId));
|
|||
|
Assert.Success(fs.GetEntryType(out DirectoryEntryType type, "bcat_test:/file".ToU8Span()));
|
|||
|
Assert.Equal(DirectoryEntryType.File, type);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|