mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-06-23 05:13:42 +00:00
refactor: rename LoadRawFile API to LoadBundleFile with BundleFileHandle
This commit is contained in:
@@ -6,29 +6,29 @@ using NUnit.Framework;
|
||||
using YooAsset;
|
||||
|
||||
/// <summary>
|
||||
/// 测试原生文件句柄释放与重新加载
|
||||
/// 测试 Bundle 文件句柄释放与重新加载
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 覆盖 API: LoadRawFileAsync / RawFileHandle.Release / UnloadUnusedAssetsAsync
|
||||
/// 覆盖 API: LoadBundleFileAsync / BundleFileHandle.Release / UnloadUnusedAssetsAsync
|
||||
/// 测试内容:
|
||||
/// 1. 异步加载原生文件,验证加载成功
|
||||
/// 2. 释放 RawFileHandle 引用,等待一帧
|
||||
/// 1. 异步加载 Bundle 文件,验证加载成功
|
||||
/// 2. 释放 BundleFileHandle 引用,等待一帧
|
||||
/// 3. 调用 UnloadUnusedAssetsAsync 清理未使用资源
|
||||
/// 4. 再次加载同一原生文件,验证加载成功且文件路径有效
|
||||
/// 4. 再次加载同一 Bundle 文件,验证加载成功且文件路径有效
|
||||
/// </remarks>
|
||||
public class TestRawFileRelease
|
||||
public class TestBundleFileRelease
|
||||
{
|
||||
public IEnumerator RuntimeTester()
|
||||
{
|
||||
ResourcePackage package = YooAssets.GetPackage(TestConsts.RawBundlePackageName);
|
||||
Assert.IsNotNull(package);
|
||||
|
||||
var rawFileHandle = package.LoadRawFileAsync("raw_file_e");
|
||||
yield return rawFileHandle;
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, rawFileHandle.Status);
|
||||
var bundleFileHandle = package.LoadBundleFileAsync("raw_file_e");
|
||||
yield return bundleFileHandle;
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, bundleFileHandle.Status);
|
||||
|
||||
// 释放
|
||||
rawFileHandle.Release();
|
||||
bundleFileHandle.Release();
|
||||
yield return new WaitForEndOfFrame();
|
||||
|
||||
var unloadOp = package.UnloadUnusedAssetsAsync();
|
||||
@@ -36,10 +36,10 @@ public class TestRawFileRelease
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, unloadOp.Status);
|
||||
|
||||
// 再次加载
|
||||
var reloadHandle = package.LoadRawFileAsync("raw_file_e");
|
||||
var reloadHandle = package.LoadBundleFileAsync("raw_file_e");
|
||||
yield return reloadHandle;
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, reloadHandle.Status);
|
||||
Assert.IsTrue(File.Exists(reloadHandle.GetRawFilePath()));
|
||||
Assert.IsTrue(File.Exists(reloadHandle.GetBundleFilePath()));
|
||||
reloadHandle.Release();
|
||||
}
|
||||
}
|
||||
@@ -7,17 +7,17 @@ using NUnit.Framework;
|
||||
using YooAsset;
|
||||
|
||||
/// <summary>
|
||||
/// 测试原生文件加载
|
||||
/// 测试 Bundle 文件加载
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 覆盖 API: LoadRawFileAsync / LoadRawFileSync / LoadAssetAsync(RawFileObject) / LoadAssetSync(RawFileObject)
|
||||
/// 覆盖 API: LoadBundleFileAsync / LoadBundleFileSync / LoadAssetAsync(RawFileObject) / LoadAssetSync(RawFileObject)
|
||||
/// 测试内容:
|
||||
/// 1. 异步加载原生文件,获取文件路径,验证文件存在且二进制数据非空(raw_file_a)
|
||||
/// 2. 同步加载原生文件,获取文件路径,验证文件存在且二进制数据非空(raw_file_b)
|
||||
/// 1. 异步加载 Bundle 文件,获取文件路径,验证文件存在且二进制数据非空(raw_file_a)
|
||||
/// 2. 同步加载 Bundle 文件,获取文件路径,验证文件存在且二进制数据非空(raw_file_b)
|
||||
/// 3. 异步通过 RawFileObject 加载,验证 GetBytes() 和 GetText() 均返回有效数据(raw_file_c)
|
||||
/// 4. 同步通过 RawFileObject 加载,验证 GetBytes() 和 GetText() 均返回有效数据(raw_file_d)
|
||||
/// </remarks>
|
||||
public class TestLoadRawFile
|
||||
public class TestLoadBundleFile
|
||||
{
|
||||
public IEnumerator RuntimeTester()
|
||||
{
|
||||
@@ -26,33 +26,33 @@ public class TestLoadRawFile
|
||||
|
||||
// 测试异步加载
|
||||
{
|
||||
var rawFileHandle = package.LoadRawFileAsync("raw_file_a");
|
||||
yield return rawFileHandle;
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, rawFileHandle.Status);
|
||||
var bundleFileHandle = package.LoadBundleFileAsync("raw_file_a");
|
||||
yield return bundleFileHandle;
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, bundleFileHandle.Status);
|
||||
|
||||
var filePath = rawFileHandle.GetRawFilePath();
|
||||
var filePath = bundleFileHandle.GetBundleFilePath();
|
||||
Assert.IsNotNull(filePath);
|
||||
Assert.IsTrue(File.Exists(filePath));
|
||||
|
||||
byte[] fileBytes = File.ReadAllBytes(filePath);
|
||||
Assert.IsNotNull(fileBytes);
|
||||
Assert.Greater(fileBytes.Length, 0);
|
||||
rawFileHandle.Release();
|
||||
bundleFileHandle.Release();
|
||||
}
|
||||
|
||||
// 测试同步加载
|
||||
{
|
||||
var rawFileHandle = package.LoadRawFileSync("raw_file_b");
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, rawFileHandle.Status);
|
||||
var bundleFileHandle = package.LoadBundleFileSync("raw_file_b");
|
||||
Assert.AreEqual(EOperationStatus.Succeeded, bundleFileHandle.Status);
|
||||
|
||||
var filePath = rawFileHandle.GetRawFilePath();
|
||||
var filePath = bundleFileHandle.GetBundleFilePath();
|
||||
Assert.IsNotNull(filePath);
|
||||
Assert.IsTrue(File.Exists(filePath));
|
||||
|
||||
byte[] fileBytes = File.ReadAllBytes(filePath);
|
||||
Assert.IsNotNull(fileBytes);
|
||||
Assert.Greater(fileBytes.Length, 0);
|
||||
rawFileHandle.Release();
|
||||
bundleFileHandle.Release();
|
||||
}
|
||||
|
||||
// 测试异步加载:通过 RawFileObject 获取二进制数据和文本数据
|
||||
@@ -239,11 +239,11 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
|
||||
var tester = new TestLoadScene();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
|
||||
[UnityTest]
|
||||
public IEnumerator B10_TestLoadRawFile()
|
||||
public IEnumerator B10_TestLoadBundleFile()
|
||||
{
|
||||
var tester = new TestLoadRawFile();
|
||||
var tester = new TestLoadBundleFile();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
@@ -304,9 +304,9 @@ public class T1_TestEditorFileSystem : IPrebuildSetup, IPostBuildCleanup
|
||||
}
|
||||
|
||||
[UnityTest]
|
||||
public IEnumerator C07_TestRawFileRelease()
|
||||
public IEnumerator C07_TestBundleFileRelease()
|
||||
{
|
||||
var tester = new TestRawFileRelease();
|
||||
var tester = new TestBundleFileRelease();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
|
||||
@@ -239,11 +239,11 @@ public class T2_TestBuiltinFileSystem : IPrebuildSetup, IPostBuildCleanup
|
||||
var tester = new TestLoadScene();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
|
||||
[UnityTest]
|
||||
public IEnumerator B10_TestLoadRawFile()
|
||||
public IEnumerator B10_TestLoadBundleFile()
|
||||
{
|
||||
var tester = new TestLoadRawFile();
|
||||
var tester = new TestLoadBundleFile();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
@@ -331,11 +331,11 @@ public class T2_TestBuiltinFileSystem : IPrebuildSetup, IPostBuildCleanup
|
||||
var tester = new TestHandleRelease();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
|
||||
[UnityTest]
|
||||
public IEnumerator D07_TestRawFileRelease()
|
||||
public IEnumerator D07_TestBundleFileRelease()
|
||||
{
|
||||
var tester = new TestRawFileRelease();
|
||||
var tester = new TestBundleFileRelease();
|
||||
yield return tester.RuntimeTester();
|
||||
}
|
||||
|
||||
|
||||
@@ -101,8 +101,8 @@ namespace Cysharp.Threading.Tasks
|
||||
case SubAssetsHandle sub_asset_handle:
|
||||
sub_asset_handle.Completed += result.SubContinuation;
|
||||
break;
|
||||
case RawFileHandle raw_file_handle:
|
||||
raw_file_handle.Completed += result.RawFileContinuation;
|
||||
case BundleFileHandle bundle_file_handle:
|
||||
bundle_file_handle.Completed += result.BundleFileContinuation;
|
||||
break;
|
||||
case AllAssetsHandle all_assets_handle:
|
||||
all_assets_handle.Completed += result.AllAssetsContinuation;
|
||||
@@ -120,8 +120,8 @@ namespace Cysharp.Threading.Tasks
|
||||
case SubAssetsHandle sub_asset_handle:
|
||||
sub_asset_handle.Completed += result.completedCallback;
|
||||
break;
|
||||
case RawFileHandle raw_file_handle:
|
||||
raw_file_handle.Completed += result.completedCallback;
|
||||
case BundleFileHandle bundle_file_handle:
|
||||
bundle_file_handle.Completed += result.completedCallback;
|
||||
break;
|
||||
case AllAssetsHandle all_assets_handle:
|
||||
all_assets_handle.Completed += result.completedCallback;
|
||||
@@ -137,7 +137,7 @@ namespace Cysharp.Threading.Tasks
|
||||
void AssetContinuation(AssetHandle _) => HandleCompleted(null);
|
||||
void SceneContinuation(SceneHandle _) => HandleCompleted(null);
|
||||
void SubContinuation(SubAssetsHandle _) => HandleCompleted(null);
|
||||
void RawFileContinuation(RawFileHandle _) => HandleCompleted(null);
|
||||
void BundleFileContinuation(BundleFileHandle _) => HandleCompleted(null);
|
||||
void AllAssetsContinuation(AllAssetsHandle _) => HandleCompleted(null);
|
||||
#endif
|
||||
|
||||
@@ -174,8 +174,8 @@ namespace Cysharp.Threading.Tasks
|
||||
case SubAssetsHandle sub_asset_handle:
|
||||
sub_asset_handle.Completed -= SubContinuation;
|
||||
break;
|
||||
case RawFileHandle raw_file_handle:
|
||||
raw_file_handle.Completed -= RawFileContinuation;
|
||||
case BundleFileHandle bundle_file_handle:
|
||||
bundle_file_handle.Completed -= BundleFileContinuation;
|
||||
break;
|
||||
case AllAssetsHandle all_assets_handle:
|
||||
all_assets_handle.Completed -= AllAssetsContinuation;
|
||||
@@ -193,8 +193,8 @@ namespace Cysharp.Threading.Tasks
|
||||
case SubAssetsHandle sub_asset_handle:
|
||||
sub_asset_handle.Completed -= completedCallback;
|
||||
break;
|
||||
case RawFileHandle raw_file_handle:
|
||||
raw_file_handle.Completed -= completedCallback;
|
||||
case BundleFileHandle bundle_file_handle:
|
||||
bundle_file_handle.Completed -= completedCallback;
|
||||
break;
|
||||
case AllAssetsHandle all_assets_handle:
|
||||
all_assets_handle.Completed -= completedCallback;
|
||||
|
||||
Reference in New Issue
Block a user