46 lines
1.6 KiB
C#
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");
|
|
}
|
|
}
|
|
}
|