Skip to content

Commit d584d9c

Browse files
author
Erik
committed
added test
1 parent 407c10f commit d584d9c

1 file changed

Lines changed: 35 additions & 3 deletions

File tree

EventSource4Net.Test/MessagesTest.cs

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ public class MessagesTest
1414
ServiceResponseMock response;
1515
WebRequesterFactoryMock factory;
1616
ManualResetEvent stateIsOpen;
17-
List<ServerSentEvent> receivedMessages;
17+
List<ServerSentEvent> receivedMessages;
1818
ManualResetEvent eventReceived;
19-
19+
2020
private TestableEventSource SetupAndConnect()
2121
{
2222
// setup
@@ -49,7 +49,7 @@ public void TestDoubleLineFeed()
4949
{
5050
// setup
5151
TestableEventSource es = SetupAndConnect();
52-
52+
5353
// act
5454
es.Start(cts.Token);
5555
stateIsOpen.WaitOrThrow();
@@ -145,5 +145,37 @@ public void TestDataSentInParts()
145145
Assert.AreEqual(receivedMessages[0].EventType, "test");
146146
Assert.AreEqual(receivedMessages[0].Data, "simple\n");
147147
}
148+
[TestMethod]
149+
public void TestMultipleEvents()
150+
{
151+
// setup
152+
TestableEventSource es = SetupAndConnect();
153+
154+
// act
155+
es.Start(cts.Token);
156+
stateIsOpen.WaitOrThrow();
157+
158+
//entire event in one line
159+
response.WriteTestTextToStream("id: 1" + "\n" + "event: newevent" + "\n" + "data: Hello" + "\n\n");
160+
eventReceived.WaitOrThrow();
161+
eventReceived.Reset();
162+
163+
//This event is split up over multiple res.write lines
164+
response.WriteTestTextToStream("id:2 " + "\n");
165+
response.WriteTestTextToStream("event: event 3" + "\n");
166+
response.WriteTestTextToStream("data: Hello again");
167+
response.WriteTestTextToStream("\n\n");
168+
eventReceived.WaitOrThrow();
169+
eventReceived.Reset();
170+
171+
//Again an event that is split up over multiple res.write statements
172+
response.WriteTestTextToStream("id: 3" + "\n");
173+
response.WriteTestTextToStream("event: event3" + "\n" + "data: Goodbye" + "\n\n");
174+
eventReceived.WaitOrThrow();
175+
eventReceived.Reset();
176+
177+
// assert
178+
Assert.AreEqual(receivedMessages.Count, 3);
179+
}
148180
}
149181
}

0 commit comments

Comments
 (0)