Nothing
test_that("HTTP HEAD & synchronous then", {
do <- function() {
http_head(http$url("/"))$then(function(value) value$status_code)$then(
function(x) expect_equal(x, 200)
)
}
synchronise(do())
})
test_that("HTTP HEAD & async then", {
do <- function() {
http_head(http$url("/"))$then(function(value) http_get(value$url))$then(
function(value) expect_equal(value$status_code, 200)
)
}
synchronise(do())
})
test_that("HTTP HEAD & async then & sync then", {
do <- function() {
http_head(http$url("/"))$then(function(value) http_get(value$url))$then(
function(value) value$status_code
)$then(function(value) expect_equal(value, 200))
}
synchronise(do())
})
test_that("then for fulfilled", {
do <- async(function() {
dx <- http_head(http$url("/status/404"))
dx2 <- http_head(http$url("/status/404"))
dx$then(function() {
dx2$then(function(value) value$status_code)$then(
function(value) expect_equal(value, 404)
)
})
})
synchronise(do())
})
test_that("multiple then clauses are not allowed", {
do <- async(function() {
dx <- delay(1 / 1000)
dx$then(function() 1)
dx$then(function() 2)
})
err <- tryCatch(synchronise(do()), error = identity)
expect_s3_class(err, "async_rejected")
expect_match(conditionMessage(err), "already owned")
})
test_that("compact function notation", {
do <- function() {
http_head(http$url("/"))$then(function(.) http_get(.$url))$then(
function(.) .$status_code
)$then(function(.) expect_equal(., 200))
}
synchronise(do())
})
test_that("embedded then", {
add1 <- function(n) {
n
delay(10 / 1000)$then(function(value) n + 1)
}
mul3 <- function(n) {
n
delay(10 / 1000)$then(function(value) n * 3)
}
do <- function() {
add1(4)$then(mul3)$then(function(.) expect_equal(., 15))
}
synchronise(do())
})
test_that("more embedded thens", {
steps <- numeric()
do <- function() {
async(function() steps <<- c(steps, 1))()$then(function() {
async_constant()$then(function() steps <<- c(steps, 2))$then(
function() steps <<- c(steps, 3)
)
})$then(function() {
async_constant()$then(function() steps <<- c(steps, 4))$then(
function() steps <<- c(steps, 5)
)
})$then(function() steps <<- c(steps, 6))
}
synchronise(do())
expect_equal(steps, 1:6)
})
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.