tar_test("tar_source()", {
skip_cran()
dir.create("x")
dir.create("y")
dir.create(file.path("y", "z"))
writeLines("f <- function(x) x + 1L", file.path("x", "f.R"))
writeLines("g <- function(x) x + 1L", file.path("x", "g.r"))
writeLines("h <- function(x) x + 1L", file.path("y", "h.R"))
writeLines("i <- function(x) x + 1L", file.path("y", "z", "i.R"))
writeLines("j <- function(x) x + 1L", "j.r")
writeLines("import numpy as np", file.path("x", "k.py"))
writeLines("import numpy as np", "l.py")
expect_silent(tar_source("y"))
expect_message(tar_source("l.py"), class = "tar_condition_validate")
expect_message(tar_source("nope.R"), class = "tar_condition_validate")
tar_script({
suppressWarnings(tar_source(c("x", "y", "j.r", "l.py")))
tar_target(x, f(g(h(i(j(0L))))))
})
tar_make(callr_function = NULL)
expect_equal(tar_read(x), 5L)
})
tar_test("tar_source() with the change_directory argument", {
skip_cran()
wd <- getwd()
dir.create("y")
dir.create(file.path("y", "z"))
writeLines("wd <- getwd()", file.path("y", "z", "i.R"))
envir <- new.env()
expect_equal(getwd(), wd)
tar_source("y", envir = envir)
expect_equal(getwd(), wd)
expect_equal(envir$wd, getwd())
tar_source("y", change_directory = TRUE, envir = envir)
expect_equal(getwd(), wd)
expect_equal(envir$wd, file.path(getwd(), "y", "z"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.