Nothing
context("Cookies")
h <- new_handle()
test_that("No cookies", {
cookies <- handle_cookies(h);
expect_is(cookies, "data.frame")
expect_equal(nrow(cookies), 0)
})
test_that("Add some cookies", {
req <- curl_fetch_memory(httpbin("cookies/set?foo=123&bar=ftw"), handle = h)
cookies <- handle_cookies(h);
expect_is(cookies, "data.frame")
expect_equal(nrow(cookies), 2)
expect_equal(sort(cookies$name), c("bar", "foo"))
expect_equal(sort(cookies$value), c("123","ftw"))
expect_true(all(cookies$expiration == Inf))
})
test_that("Coockie with connection", {
con <- curl(httpbin("cookies"), handle = h)
expect_equal(jsonlite::fromJSON(con)$cookies$foo, "123")
})
test_that("Delete a cookie", {
req <- curl_fetch_memory(httpbin("cookies/delete?foo"), handle = h)
cookies <- handle_cookies(h)
foo <- subset(cookies, name == "foo")
bar <- subset(cookies, name == "bar")
expect_true(bar$expiration > Sys.time())
expect_equal(bar$value, "ftw")
# Recent versions of curl immediately drop the cookie
if(nrow(foo)){
expect_true(foo$expiration < Sys.time())
expect_true(is.na(foo$value))
}
})
test_that("Overwrite a cookie", {
req <- curl_fetch_memory(httpbin("cookies/set?foo=888&bar=999"), handle = h)
cookies <- handle_cookies(h)
foo <- subset(cookies, name == "foo")
bar <- subset(cookies, name == "bar")
expect_equal(foo$value, "888")
expect_equal(bar$value, "999")
expect_true(all(cookies$expiration == Inf))
})
rm(h)
test_that("GC works", {
gc()
expect_equal(total_handles(), 0L)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.