Nothing
testthat::context("Test the 'testthat' module")
testthat::test_that("Test 'testthat' helper functions", {
testthat::expect_false(is_websocket("load_library(\"dom\")"))
testthat::expect_true(is_websocket("load_library(\"websocket\")"))
temp <- tempfile()
write("#! load_library('websocket')", temp)
testthat::expect_true(has_websocket(temp))
write("#! load_library('dom')", temp)
testthat::expect_false(has_websocket(temp))
temp <- tempfile()
write("#| load_library('websocket')", temp)
testthat::expect_true(has_websocket(temp))
write("#| load_library('dom')", temp)
testthat::expect_false(has_websocket(temp))
})
testthat::test_that("Test 'testthat' report", {
app_file <- system.file("test_files/test_testthat_app.R", package = "sketch")
test_file <- system.file("test_files/test_testthat_test.R", package = "sketch")
# Running without a browser only checks that the code runs
# successfully to the end, but it does not perform the tests
# in the `test_file`.
res <- test_sketch(app_file, test_file, launch_browser = NULL)
# Clean up without waiting
if (res$started) {
has_started <- TRUE
res$stopServer()
}
# Add one to the test counter
testthat::expect_true(has_started)
# The following test needs to run interactively in R, hence
# it is skipped on cran and ci.
testthat::skip_on_cran()
testthat::skip_on_ci()
# The following command will launch a browser.
res <- test_sketch(app_file, test_file, launch_browser = "browser")
# test_file_2 <- system.file("test_files/test_testthat_test_2.R", package = "sketch")
# res <- test_sketch(app_file, test_file_2)
})
# Note 1. At the websocket end, it takes some time for tasks to complete and the
# connection to close. This would interfere with "testthat/test_websocket.R" if the
# connection is not closed in time. As there is no way to block a thread while
# requiring it to be available (to listen) at the same time, the test (for the
# `in_handler` portion) needs to be run interactively.
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.