# Currently has to be run manually
if (rstudioapi::isAvailable() & FALSE) {
# Set env
library(testthat)
rm(list = ls(all.names = TRUE))
a = 5
# Simulate user behavior in console
launch_addin = function(code, func) {
rstudioapi::sendToConsole(code, execute = FALSE, focus = TRUE) # paste to console
rstudioapi::setSelectionRanges(rstudioapi::document_range(c(0, 0), c(10000, 10000))) # Select it
func() # Run addin func
selectionSet("") # blank when done
}
# Test jobaddin_selection()
launch_addin("qqq = a * 3; sss = c(1,3,5)", job:::jobaddin_selection)
Sys.sleep(3)
expect_identical(qqq, a * 3)
expect_identical(sss, c(1, 3, 5))
rm(qqq)
rm(sss)
# Test jobaddin_selection_empty()
launch_addin("a_exists = exists('a')", job:::jobaddin_selection_empty)
Sys.sleep(3)
expect_false(a_exists)
expect_identical(a, 5) # Quick check that a kept its value
expect_identical(ls(all.names = TRUE), c("a", "a_exists", "launch_addin"))
rm(a_exists)
# Final cleanup
rm(list = ls())
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.