VR4Medical/ICI/Library/PackageCache/com.unity.xr.openxr@3903c1059bcf/Tests/Editor/aAssetBundleTests.cs
2025-07-29 13:45:50 +03:00

46 lines
1.6 KiB
C#

using System.IO;
using NUnit.Framework;
using UnityEngine;
using UnityEngine.TestTools;
using UnityEditor.SceneManagement;
[assembly: UnityPlatform(RuntimePlatform.WindowsEditor, RuntimePlatform.OSXEditor)]
namespace UnityEditor.XR.OpenXR.Tests
{
internal class aAssetBundleTests
{
[Test]
public void BuildAssetBundle()
{
#if UNITY_EDITOR_WIN
var target = BuildTarget.StandaloneWindows64;
#elif UNITY_EDITOR_OSX
var target = BuildTarget.StandaloneOSX;
#else
var target = BuildTarget.NoTarget;
#endif
// Test is only valid if we have a valid build target and that build target is available
if (target == BuildTarget.NoTarget || !BuildPipeline.IsBuildTargetSupported(BuildPipeline.GetBuildTargetGroup(target), target))
return;
// Create an asset and add it to an asset bundle
var scene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);
EditorSceneManager.SaveScene(scene, "Assets/abtest.unity");
AssetDatabase.Refresh();
var importer = AssetImporter.GetAtPath("Assets/abtest.unity");
importer.assetBundleName = "mocktest";
if (!Directory.Exists("mocktest/ab"))
Directory.CreateDirectory("mocktest/ab");
// Build the asset bundle
BuildPipeline.BuildAssetBundles("mocktest/ab", BuildAssetBundleOptions.ForceRebuildAssetBundle, target);
// Cleanup
AssetDatabase.DeleteAsset("Assets/abtest.unity");
}
}
}