No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RootCanvasTests.cs 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using NUnit.Framework;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. [Category("Canvas")]
  5. public class RootCanvasTests : TestBehaviourBase<UnityEngine.Canvas>
  6. {
  7. // A simple nested canvas hierarchy
  8. // m_TestObject
  9. // └ rootCanvasChild
  10. // └ emptyChildGameObject
  11. // └ baseCanvas
  12. private UnityEngine.Canvas rootCanvasChild;
  13. private GameObject emptyChildGameObject;
  14. private UnityEngine.Canvas baseCanvas;
  15. [SetUp]
  16. public override void TestSetup()
  17. {
  18. base.TestSetup();
  19. var rootChildGO = new GameObject("root child");
  20. rootCanvasChild = rootChildGO.AddComponent<Canvas>();
  21. emptyChildGameObject = new GameObject("empty");
  22. var baseGO = new GameObject("base");
  23. baseCanvas = baseGO.AddComponent<Canvas>();
  24. baseCanvas.transform.SetParent(emptyChildGameObject.transform);
  25. emptyChildGameObject.transform.SetParent(rootChildGO.transform);
  26. rootChildGO.transform.SetParent(m_TestObject.transform);
  27. }
  28. [Test]
  29. public void IsRootCanvasTest()
  30. {
  31. Assert.IsFalse(baseCanvas.isRootCanvas);
  32. Assert.IsFalse(rootCanvasChild.isRootCanvas);
  33. Assert.IsTrue(m_TestObject.isRootCanvas);
  34. }
  35. [Test]
  36. public void CorrectRootCanvasReturned()
  37. {
  38. Assert.AreEqual(m_TestObject, m_TestObject.rootCanvas);
  39. Assert.AreEqual(m_TestObject, rootCanvasChild.rootCanvas);
  40. Assert.AreEqual(m_TestObject, baseCanvas.rootCanvas);
  41. }
  42. [Test]
  43. public void NotRootCanvasAnchorsDontGetReset()
  44. {
  45. var rect = rootCanvasChild.GetComponent<RectTransform>();
  46. rect.anchorMin = Vector2.zero;
  47. rect.anchorMax = Vector2.one;
  48. Assert.IsTrue(rect.anchorMin == Vector2.zero);
  49. Assert.IsTrue(rect.anchorMax == Vector2.one);
  50. m_TestObject.gameObject.SetActive(false);
  51. Assert.IsTrue(rect.anchorMin == Vector2.zero);
  52. Assert.IsTrue(rect.anchorMax == Vector2.one);
  53. }
  54. [Test]
  55. public void ChildOfDisabledCanvasCantReceiveClicks()
  56. {
  57. rootCanvasChild.gameObject.AddComponent<Image>();
  58. var raycasts = GraphicRegistry.GetRaycastableGraphicsForCanvas(rootCanvasChild);
  59. Assert.IsTrue(raycasts.Count == 1);
  60. m_TestObject.gameObject.SetActive(false);
  61. raycasts = GraphicRegistry.GetRaycastableGraphicsForCanvas(rootCanvasChild);
  62. Assert.IsTrue(raycasts.Count == 0);
  63. }
  64. }