test_that("tick", {
do <- async(function() {
deferred$new(
function(resolve, progress) {
for (i in 1:10) progress(list(tick = 1))
progress(list(tick = 1))
resolve("done")
}
)
})
expect_equal(synchronise(do()), "done")
ticked <- 0
do <- async(function() {
deferred$new(
function(resolve, progress) {
for (i in 1:10) progress(list(tick = 1))
resolve("done")
},
function(data) ticked <<- ticked + data$tick
)
})
expect_equal(synchronise(do()), "done")
expect_equal(ticked, 10)
})
test_that("total", {
ticked <- 0
totalx <- NULL
do <- async(function() {
deferred$new(
function(resolve, progress) {
progress(list(total = 10))
for (i in 1:10) progress(list(tick = 1))
resolve("done")
},
function(data) {
if (!is.null(data$total)) totalx <<- data$total
if (!is.null(data$tick)) ticked <<- ticked + data$tick
}
)
})
expect_equal(synchronise(do()), "done")
expect_equal(ticked, 10)
expect_equal(totalx, 10)
})
test_that("ratio", {
ratiox <- 0
do <- async(function() {
deferred$new(
function(resolve, progress) {
for (i in 1:10) progress(list(ratio = i / 10))
resolve("done")
},
function(data) ratiox <<- c(ratiox, data$ratio)
)
})
expect_equal(synchronise(do()), "done")
expect_equal(ratiox, (0:10) / 10)
})
test_that("amount", {
amountx <- 0
totalx <- 0
do <- async(function() {
deferred$new(
function(resolve, progress) {
progress(list(total = 100))
for (i in 1:10) progress(list(amount = 10))
resolve("done")
},
function(data) {
if (!is.null(data$total)) totalx <<- data$total
if (!is.null(data$amount)) amountx <<- amountx + data$amount
}
)
})
expect_equal(synchronise(do()), "done")
expect_equal(totalx, 100)
expect_equal(amountx, 100)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.