add test for SSE swapping

This commit is contained in:
carson 2020-10-19 08:20:16 -06:00
parent d26a09c5c7
commit 1cb756c05e
2 changed files with 21 additions and 4 deletions

View File

@ -7,10 +7,12 @@ describe("hx-sse attribute", function() {
addEventListener: function (message, l) { addEventListener: function (message, l) {
listeners[message] = l; listeners[message] = l;
}, },
sendEvent: function (event) { sendEvent: function (eventName, data) {
var listener = listeners[event]; var listener = listeners[eventName];
if (listener) { if (listener) {
listener(); var event = htmx._("makeEvent")(eventName);
event.data = data;
listener(event);
} }
}, },
close: function () { close: function () {
@ -116,5 +118,20 @@ describe("hx-sse attribute", function() {
this.eventSource.wasClosed().should.equal(true) this.eventSource.wasClosed().should.equal(true)
}) })
it('swaps content properly on SSE swap', function () {
var div = make('<div hx-sse="connect:/event_stream">\n' +
' <div id="d1" hx-sse="swap:e1"></div>\n' +
' <div id="d2" hx-sse="swap:e2"></div>\n' +
'</div>\n');
byId("d1").innerText.should.equal("")
byId("d2").innerText.should.equal("")
this.eventSource.sendEvent("e1", "Event 1")
byId("d1").innerText.should.equal("Event 1")
byId("d2").innerText.should.equal("")
this.eventSource.sendEvent("e2", "Event 2")
byId("d1").innerText.should.equal("Event 1")
byId("d2").innerText.should.equal("Event 2")
})
}); });

View File

@ -30,7 +30,7 @@ Here is another example:
<div hx-sse="swap:eventName1"> <div hx-sse="swap:eventName1">
... ...
</div> </div>
<div hx-sse="swap eventName2"> <div hx-sse="swap:eventName2">
... ...
</div> </div>
</div> </div>