Nothing
test_add_to_desc <- function(str, msg = "Adding 'httptest2' to Suggests") {
f <- tempfile()
cat(str, file = f)
expect_message(add_httptest2_to_desc(f), msg)
setNames(read.dcf(f, keep.white = "Suggests")[, "Suggests"], NULL)
}
test_that("add to desc adds Suggests if not present", {
expect_identical(test_add_to_desc("Title: Foo"), "httptest2")
})
test_that("add to desc adds Suggests if present but empty", {
expect_identical(test_add_to_desc("Suggests:"), "httptest2")
})
test_that("add to desc adds Suggests inline", {
expect_identical(test_add_to_desc("Suggests: pkg"), "httptest2, pkg")
expect_identical(
test_add_to_desc("Suggests: pkg, alpha (>= 2.0.0)"),
"alpha (>= 2.0.0), httptest2, pkg"
)
})
desc_suggests_one_multiline <- "Title: Foo
Suggests:
pkg
"
desc_suggests_two_multiline <- "Title: Foo
Suggests:
pkg,
alpha (>= 2.0.0)
"
desc_suggests_two_uneven <- "Title: Foo
Suggests: pkg,
alpha (>= 2.0.0)
"
test_that("add to desc adds Suggests multiline", {
expect_identical(
test_add_to_desc(desc_suggests_one_multiline),
"\n httptest2,\n pkg"
)
expect_identical(
test_add_to_desc(desc_suggests_two_multiline),
"\n alpha (>= 2.0.0),\n httptest2,\n pkg"
)
expect_identical(
test_add_to_desc(desc_suggests_two_uneven),
"alpha (>= 2.0.0),\n httptest2,\n pkg"
)
})
test_that("add to desc doesn't add if already present", {
expect_identical(test_add_to_desc("Suggests: httptest2", msg = NA), "httptest2")
expect_identical(
test_add_to_desc("Suggests: pkg, httptest2", msg = NA),
"pkg, httptest2"
)
})
expect_added_to_setup <- function(str, msg = "Adding library\\(httptest2\\)") {
f <- tempfile()
cat(str, file = f)
expect_message(add_httptest2_to_setup(f), msg)
expect_true(any(grepl("library(httptest2)", readLines(f), fixed = TRUE)))
}
test_that("add to setup creates file if doesn't exist", {
f <- tempfile()
expect_false(file.exists(f))
expect_message(
expect_message(add_httptest2_to_setup(f), "Creating"),
"Adding library\\(httptest2\\) to"
)
expect_identical(readLines(f), "library(httptest2)")
})
test_that("add to setup adds", {
expect_added_to_setup("")
expect_added_to_setup("library(pkg)\n")
})
test_that("add to setup doesn't duplicate", {
expect_added_to_setup("library(httptest2)\n", msg = NA)
})
test_that("use_httptest2 integration test", {
testpkg <- tempfile()
dir.create(testpkg)
expect_error(use_httptest2(testpkg), "is not an R package directory")
desc <- file.path(testpkg, "DESCRIPTION")
cat("Title: Foo\n", file = desc)
setup <- file.path(testpkg, "tests", "testthat", "setup.R")
expect_message(
expect_message(
expect_message(
use_httptest2(testpkg),
"Adding 'httptest2' to Suggests"
),
"Creating "
),
"Adding library\\(httptest2\\) to "
)
expect_identical(readLines(desc), c("Title: Foo", "Suggests: httptest2"))
expect_identical(readLines(setup), "library(httptest2)")
# It does nothing if you the package already uses httptest2
expect_message(use_httptest2(testpkg), NA)
})
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.