test_that("parse_sse_event", {
testthat::local_edition(3)
txt <- "foo: bar"
expect_snapshot(parse_sse_event(charToRaw(txt)))
txt <- "foo:bar"
expect_snapshot(parse_sse_event(charToRaw(txt)))
txt <- "foo: bar\nbaz:foobar\nand:last"
expect_snapshot(parse_sse_event(charToRaw(txt)))
})
test_that("chunk_sse_events", {
testthat::local_edition(3)
# no events yet
txt <- "foo: bar\nbaz: foo\n"
expect_snapshot(chunk_sse_events(charToRaw(txt)))
txt <- "foo: bar\nbaz: foobar\n\nanother: event\n\nand:another\n\n"
expect_snapshot(chunk_sse_events(charToRaw(txt)))
# slightly bad separators
txt <- paste0(
"\n\n\n",
"foo: bar\nbaz: foobar",
"\n\n\n\n\n",
"another: event",
"\n\n",
"and:another",
"\n\n"
)
expect_snapshot(chunk_sse_events(charToRaw(txt)))
# incomplete last event
txt <- "foo: bar\nbaz: foobar\n\nanother: event\n\nand:another\n"
expect_snapshot(chunk_sse_events(charToRaw(txt)))
})
test_that("sse", {
testthat::local_edition(3)
server <- webfakes::new_app_process(sseapp())
url <- server$url("/sse")
events <- NULL
do <- function() {
p1 <- http_get(url)
evs <- sse_events$new(p1)
evs$listen_on("event", function(ev) {
events <<- c(events, list(ev))
})
p1
}
synchronise(do())
expect_snapshot(events)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.