123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using NUnit.Framework;
- using UnityEngine;
- using UnityEngine.UI;
-
- [Category("Canvas")]
- public class RootCanvasTests : TestBehaviourBase<UnityEngine.Canvas>
- {
- // A simple nested canvas hierarchy
- // m_TestObject
- // └ rootCanvasChild
- // └ emptyChildGameObject
- // └ baseCanvas
- private UnityEngine.Canvas rootCanvasChild;
- private GameObject emptyChildGameObject;
- private UnityEngine.Canvas baseCanvas;
-
- [SetUp]
- public override void TestSetup()
- {
- base.TestSetup();
-
- var rootChildGO = new GameObject("root child");
- rootCanvasChild = rootChildGO.AddComponent<Canvas>();
-
- emptyChildGameObject = new GameObject("empty");
-
- var baseGO = new GameObject("base");
- baseCanvas = baseGO.AddComponent<Canvas>();
-
- baseCanvas.transform.SetParent(emptyChildGameObject.transform);
- emptyChildGameObject.transform.SetParent(rootChildGO.transform);
- rootChildGO.transform.SetParent(m_TestObject.transform);
- }
-
- [Test]
- public void IsRootCanvasTest()
- {
- Assert.IsFalse(baseCanvas.isRootCanvas);
- Assert.IsFalse(rootCanvasChild.isRootCanvas);
- Assert.IsTrue(m_TestObject.isRootCanvas);
- }
-
- [Test]
- public void CorrectRootCanvasReturned()
- {
- Assert.AreEqual(m_TestObject, m_TestObject.rootCanvas);
- Assert.AreEqual(m_TestObject, rootCanvasChild.rootCanvas);
- Assert.AreEqual(m_TestObject, baseCanvas.rootCanvas);
- }
-
- [Test]
- public void NotRootCanvasAnchorsDontGetReset()
- {
- var rect = rootCanvasChild.GetComponent<RectTransform>();
-
- rect.anchorMin = Vector2.zero;
- rect.anchorMax = Vector2.one;
-
- Assert.IsTrue(rect.anchorMin == Vector2.zero);
- Assert.IsTrue(rect.anchorMax == Vector2.one);
-
- m_TestObject.gameObject.SetActive(false);
-
- Assert.IsTrue(rect.anchorMin == Vector2.zero);
- Assert.IsTrue(rect.anchorMax == Vector2.one);
- }
-
- [Test]
- public void ChildOfDisabledCanvasCantReceiveClicks()
- {
- rootCanvasChild.gameObject.AddComponent<Image>();
- var raycasts = GraphicRegistry.GetRaycastableGraphicsForCanvas(rootCanvasChild);
-
- Assert.IsTrue(raycasts.Count == 1);
-
- m_TestObject.gameObject.SetActive(false);
- raycasts = GraphicRegistry.GetRaycastableGraphicsForCanvas(rootCanvasChild);
-
- Assert.IsTrue(raycasts.Count == 0);
- }
- }
|