| | 1 | | using DCL.Interface; |
| | 2 | | using NUnit.Framework; |
| | 3 | | using System.Collections; |
| | 4 | |
|
| | 5 | | public class ChatHUDShould : IntegrationTestSuite_Legacy |
| | 6 | | { |
| | 7 | | ChatHUDController controller; |
| | 8 | | ChatHUDView view; |
| | 9 | |
|
| | 10 | | protected override IEnumerator SetUp() |
| | 11 | | { |
| 4 | 12 | | controller = new ChatHUDController(); |
| 4 | 13 | | controller.Initialize(null, OnSendMessage); |
| 4 | 14 | | this.view = controller.view; |
| 4 | 15 | | Assert.IsTrue(this.view != null); |
| 4 | 16 | | yield break; |
| | 17 | | } |
| | 18 | |
|
| | 19 | | ChatMessage lastMsgSent; |
| | 20 | |
|
| 4 | 21 | | void OnSendMessage(ChatMessage msg) { lastMsgSent = msg; } |
| | 22 | |
|
| | 23 | | protected override IEnumerator TearDown() |
| | 24 | | { |
| 4 | 25 | | controller.Dispose(); |
| 4 | 26 | | yield break; |
| | 27 | | } |
| | 28 | |
|
| | 29 | | [Test] |
| | 30 | | public void SubmitMessageProperly() |
| | 31 | | { |
| 1 | 32 | | controller.view.inputField.onSubmit.Invoke("test message"); |
| 1 | 33 | | Assert.AreEqual("test message", lastMsgSent.body); |
| 1 | 34 | | } |
| | 35 | |
|
| | 36 | | [Test] |
| | 37 | | public void TrimWhenTooMuchMessagesAreInView() |
| | 38 | | { |
| 1 | 39 | | int cacheMaxEntries = ChatHUDController.MAX_CHAT_ENTRIES; |
| | 40 | | const int newMaxEntries = 10; |
| 1 | 41 | | ChatHUDController.MAX_CHAT_ENTRIES = newMaxEntries; |
| 32 | 42 | | for (int i = 0; i < ChatHUDController.MAX_CHAT_ENTRIES + 5; i++) |
| | 43 | | { |
| 15 | 44 | | var msg = new ChatEntry.Model() |
| | 45 | | { |
| | 46 | | messageType = ChatMessage.Type.PUBLIC, |
| | 47 | | senderName = "test" + i, |
| | 48 | | bodyText = "test" + i, |
| | 49 | | }; |
| | 50 | |
|
| 15 | 51 | | controller.AddChatMessage(msg); |
| | 52 | | } |
| | 53 | |
|
| 1 | 54 | | ChatHUDController.MAX_CHAT_ENTRIES = cacheMaxEntries; |
| 1 | 55 | | Assert.AreEqual(newMaxEntries, controller.view.entries.Count); |
| 1 | 56 | | Assert.AreEqual("test5", controller.view.entries[0].model.bodyText); |
| 1 | 57 | | } |
| | 58 | |
|
| | 59 | | [Test] |
| | 60 | | public void AddAndClearChatEntriesProperly() |
| | 61 | | { |
| 1 | 62 | | var msg = new ChatEntry.Model() |
| | 63 | | { |
| | 64 | | messageType = ChatMessage.Type.PUBLIC, |
| | 65 | | senderName = "test", |
| | 66 | | bodyText = "test", |
| | 67 | | }; |
| | 68 | |
|
| 1 | 69 | | controller.AddChatMessage(msg); |
| | 70 | |
|
| 1 | 71 | | Assert.AreEqual(1, controller.view.entries.Count); |
| 1 | 72 | | Assert.AreEqual(msg, controller.view.entries[0].model); |
| | 73 | |
|
| 1 | 74 | | controller.view.CleanAllEntries(); |
| | 75 | |
|
| 1 | 76 | | Assert.AreEqual(0, controller.view.entries.Count); |
| | 77 | |
|
| 1 | 78 | | } |
| | 79 | |
|
| | 80 | | [Test] |
| | 81 | | public void CancelMessageSubmitionByEscapeKey() |
| | 82 | | { |
| 1 | 83 | | string testMessage = "test message"; |
| | 84 | |
|
| 1 | 85 | | controller.view.FocusInputField(); |
| 1 | 86 | | controller.view.inputField.text = testMessage; |
| 1 | 87 | | controller.view.inputField.ProcessEvent(new UnityEngine.Event { keyCode = UnityEngine.KeyCode.Escape }); |
| 1 | 88 | | controller.view.inputField.onSubmit.Invoke(testMessage); |
| | 89 | |
|
| 1 | 90 | | Assert.AreEqual("", lastMsgSent.body); |
| 1 | 91 | | Assert.AreEqual(testMessage, controller.view.inputField.text); |
| 1 | 92 | | } |
| | 93 | | } |