chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using MCPForUnity.Editor.Tools.Build;
|
||||
using NUnit.Framework;
|
||||
using UnityEditor;
|
||||
|
||||
namespace MCPForUnity.Tests.EditMode.Tools
|
||||
{
|
||||
[TestFixture]
|
||||
public class BuildTargetMappingTests
|
||||
{
|
||||
[TestCase("windows64", BuildTarget.StandaloneWindows64)]
|
||||
[TestCase("macos", BuildTarget.StandaloneOSX)]
|
||||
[TestCase("linux", BuildTarget.StandaloneLinux64)]
|
||||
[TestCase("tvos", BuildTarget.tvOS)]
|
||||
public void TryResolveBuildTarget_KnownAliasesResolve(string name, BuildTarget expected)
|
||||
{
|
||||
Assert.IsTrue(BuildTargetMapping.TryResolveBuildTarget(name, out var target));
|
||||
Assert.AreEqual(expected, target);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryResolveBuildTarget_NumericInputDoesNotResolve()
|
||||
{
|
||||
Assert.IsFalse(BuildTargetMapping.TryResolveBuildTarget("5", out _));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryResolveNamedBuildTarget_UnknownTargetListsOnlyAvailableTargets()
|
||||
{
|
||||
string error = BuildTargetMapping.TryResolveNamedBuildTarget("not-a-target", out _);
|
||||
|
||||
Assert.IsNotNull(error);
|
||||
StringAssert.Contains("windows64", error);
|
||||
|
||||
bool visionOSAvailable = Enum.TryParse("VisionOS", true, out BuildTarget _);
|
||||
if (visionOSAvailable)
|
||||
{
|
||||
StringAssert.Contains("visionos", error);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.IsFalse(error.Contains("visionos"));
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void TryResolveNamedBuildTarget_VisionOSUnavailableReturnsHelpfulError()
|
||||
{
|
||||
bool visionOSAvailable = Enum.TryParse("VisionOS", true, out BuildTarget _);
|
||||
string error = BuildTargetMapping.TryResolveNamedBuildTarget("visionos", out _);
|
||||
|
||||
if (visionOSAvailable)
|
||||
{
|
||||
Assert.IsTrue(BuildTargetMapping.TryResolveBuildTarget("visionos", out _));
|
||||
Assert.IsTrue(
|
||||
error == null || error.Contains("VisionOS"),
|
||||
$"Expected no error or a VisionOS-specific error, got: {error}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.IsFalse(BuildTargetMapping.TryResolveBuildTarget("visionos", out _));
|
||||
Assert.IsNotNull(error);
|
||||
StringAssert.Contains("VisionOS build target is not available", error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user