test_that("q_library_0", {
local_reproducible_output(width = 500)
do <- function(code) {
code_query(code, q_library_0())[["matched_captures"]]
}
expect_snapshot({
do("library(pkg, lib.loc = path)")
do("library('pkg', lib.loc = path)")
do("library(lib.loc = path, pkg)")
do("require(lib.loc = path, character.only = TRUE, 'pkg')")
do("library(foo, require(bar))")
})
})
test_that("q_module_import", {
local_reproducible_output(width = 500)
do <- function(path) {
apath <- test_path(path)
code_query(readLines(apath), q_module_import())[["matched_captures"]]
}
expect_snapshot({
do("fixtures/scan/modules.R")
do("fixtures/scan/modules-empty.R")
})
})
test_that("q_colon", {
local_reproducible_output(width = 500)
do <- function(code) {
code_query(code, q_colon())[["matched_captures"]]
}
expect_snapshot({
do("x <- foo::bar()")
do("1 + 2 + foo:::bar")
})
})
test_that("q_methods", {
local_reproducible_output(width = 500)
do <- function(code) {
code_query(code, q_methods())[["matched_captures"]]
}
expect_snapshot({
do("setClass('myclass')")
do("setGeneric('props', function(object) attributes(object))")
})
})
test_that("q_junit_reporter", {
local_reproducible_output(width = 500)
do <- function(code) {
code_query(code, q_junit_reporter())[["matched_captures"]]
}
expect_snapshot({
do("JunitReporter$new()")
do("testthat::JunitReporter$new()")
})
})
test_that("q_knitr_dev", {
local_reproducible_output(width = 500)
do <- function(code) {
code_query(code, q_knitr_dev())[["matched_captures"]]
}
expect_snapshot({
do("opts_chunk$set()")
do("knitr::opts_chunk$set()")
})
})
test_that("renv_dependencies_database", {
expect_snapshot({
renv_dependencies_database()
})
})
test_that("q_database", {
local_reproducible_output(width = 500)
do <- function(code) {
code_query(code, q_database())[["matched_captures"]]
}
expect_snapshot({
do("geom_hex()")
do("ggplot2::geom_hex()")
do("JunitReporter")
do("testthat::JunitReporter")
})
})
test_that("q_database #2", {
fake(q_database, "renv_dependencies_database", NULL)
expect_null(q_database())
})
test_that("q_database #3", {
local_reproducible_output(width = 500)
withr::local_options(renv.dependencies.database =
list(foopkg = list(foofun = "foodep"))
)
do <- function(code) {
code_query(code, q_database())[["matched_captures"]]
}
expect_snapshot({
do("geom_hex()")
do("foopkg::foofun()")
do("foofun")
})
})
test_that("q_deps", {
fake(q_deps, "q_library_0", 1)
fake(q_deps, "q_colon", 2)
fake(q_deps, "q_methods", 3)
fake(q_deps, "q_junit_reporter", 4)
fake(q_deps, "q_knitr_dev", 5)
fake(q_deps, "q_database", 6)
expect_snapshot(
q_deps()
)
})
test_that("q_deps_rmd", {
local_reproducible_output(width = 500)
expect_snapshot({
code_query(
readLines(test_path("fixtures/scan/chunk-errors.Rmd")),
query = q_deps_rmd(),
language = "markdown"
)[["matched_captures"]]
})
expect_snapshot({
code_query(
readLines(test_path("fixtures/scan/inline-chunks.Rmd")),
query = q_deps_rmd(),
language = "markdown"
)[["matched_captures"]]
})
})
test_that("q_deps_rmd_inline", {
local_reproducible_output(width = 500)
code <- code_query(
readLines(test_path("fixtures/scan/inline-chunks.Rmd")),
query = q_deps_rmd(),
language = "markdown"
)[["matched_captures"]]
expect_snapshot({
code_query(
readLines(test_path("fixtures/scan/inline-chunks.Rmd")),
query = q_deps_rmd_inline(),
language = "markdown-inline",
ranges = code[, range_cols]
)[["matched_captures"]]
})
})
test_that("q_deps_yaml_header", {
local_reproducible_output(width = 500)
expect_snapshot({
print(n = Inf, code_query(
readLines(test_path("fixtures/scan/header-shiny.Rmd")),
query = q_deps_yaml_header(),
language = "yaml"
)[["matched_captures"]])
print(n = Inf, code_query(
readLines(test_path("fixtures/scan/header-shiny2.Rmd")),
query = q_deps_yaml_header(),
language = "yaml"
)[["matched_captures"]])
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.