describe("with_connection", {
it("errors if connection is not named", {
expect_error({
with_connection(list(TRUE), TRUE)
}, "all(is.named(con)) is not TRUE", fixed = TRUE)
})
it("creates a single connection", {
tmp <- tempfile()
on.exit(unlink(tmp))
expect_false(exists("con"))
with_connection(list(con = file(tmp, "w")), {
writeLines(c("foo", "bar"), con)
})
expect_false(exists("con"))
expect_equal(readLines(tmp), c("foo", "bar"))
})
it("creates multiple connections", {
tmp <- tempfile()
tmp2 <- tempfile()
on.exit(unlink(c(tmp, tmp2)))
expect_false(exists("con"))
expect_false(exists("con2"))
with_connection(list(con = file(tmp, "w"), con2 = file(tmp2, "w")), {
writeLines(c("foo", "bar"), con)
writeLines(c("baz", "qux"), con2)
})
expect_false(exists("con"))
expect_false(exists("con2"))
expect_equal(readLines(tmp), c("foo", "bar"))
expect_equal(readLines(tmp2), c("baz", "qux"))
})
it("works if there is an existing object with the same name", {
tmp <- tempfile()
con <- "foo"
with_connection(list(con = file(tmp, "w")), {
writeLines("foo", con)
})
expect_true(exists("con"))
expect_equal(readLines(tmp), "foo")
})
it("works if there is an existing connection with the same name", {
tmp <- tempfile()
tmp2 <- tempfile()
con <- file(tmp, "w")
writeLines("foo", tmp)
with_connection(list(con = file(tmp2, "w")), {
writeLines("bar", con)
})
close(con)
expect_equal(readLines(tmp), "foo")
expect_equal(readLines(tmp2), "bar")
})
})
describe("local_connection", {
it("creates a single connection", {
tmp <- tempfile()
on.exit(unlink(tmp))
expect_false(exists("con"))
(function() {
con <- local_connection(file(tmp, "w"))
writeLines(c("foo", "bar"), con)
})()
expect_false(exists("con"))
expect_equal(readLines(tmp), c("foo", "bar"))
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.