Skip to content

Commit

Permalink
Turn on / off interactive mode for tests.
Browse files Browse the repository at this point in the history
add .onLoad to set `DataPackageR_interact` option to `interactive()`.
Option set to FALSE in tests and back to default after tests complete.
Addresses the final comments in ropensci/software-review#230
  • Loading branch information
gfinak committed Aug 8, 2018
1 parent 4e1894a commit 617ad22
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 9 deletions.
3 changes: 3 additions & 0 deletions R/01.R
@@ -0,0 +1,3 @@
.onLoad <- function(libname, pkgname){
options("DataPackageR_interact" = interactive())
}
4 changes: 3 additions & 1 deletion R/autodoc.R
@@ -1,5 +1,6 @@

# function .dog_generate() automates the creation of a basic roxygen template for the package and each object in objects_to_keep

# function .doc_autogen() automates the creation of a basic roxygen template for the package and each object in objects_to_keep
# arguments are pname and ds2kp, normally defined in datasets.R
# pname is name of package, ds2kp is list of objects to save in data package
.doc_autogen <- function(pname, ds2kp, env, path, name = "documentation.R") {
Expand Down Expand Up @@ -92,3 +93,4 @@
}
close(con)
}

6 changes: 3 additions & 3 deletions R/processData.R
Expand Up @@ -345,7 +345,7 @@ DataPackageR <- function(arg = NULL, deps = TRUE) {
pkg_description,
new_data_digest
)
.update_news_md(updated_version$new_data_digest[["DataVersion"]])
.update_news_md(updated_version$new_data_digest[["DataVersion"]], interact = getOption("DataPackageR_interact",interactive()))
pkg_description <- updated_version$pkg_description
new_data_digest <- updated_version$new_data_digest
can_write <- TRUE
Expand Down Expand Up @@ -387,7 +387,7 @@ DataPackageR <- function(arg = NULL, deps = TRUE) {
pkg_description,
new_data_digest
)
.update_news_md(updated_version$new_data_digest[["DataVersion"]])
.update_news_md(updated_version$new_data_digest[["DataVersion"]], interact = getOption("DataPackageR_interact",interactive()))
pkg_description <- updated_version$pkg_description
new_data_digest <- updated_version$new_data_digest
can_write <- TRUE
Expand All @@ -403,7 +403,7 @@ DataPackageR <- function(arg = NULL, deps = TRUE) {
do_documentation <- TRUE
}
} else {
.update_news_md(new_data_digest[["DataVersion"]])
.update_news_md(new_data_digest[["DataVersion"]], interact = getOption("DataPackageR_interact",interactive()))
.save_data(new_data_digest,
pkg_description,
ls(dataenv),
Expand Down
8 changes: 4 additions & 4 deletions R/prompt.R
@@ -1,14 +1,14 @@
.prompt_user_for_change_description <- function() {
.prompt_user_for_change_description <- function(interact = getOption("DataPackageR_interact",interactive())) {
cat(crayon::cyan("Enter a text description of the changes for the NEWS file.\n")) # nolint
change_description <- ifelse(interactive(), readline(prompt = "+ "),
change_description <- ifelse(interactive() & interact, readline(prompt = "+ "),
"Package built in non-interactive mode"
)
return(change_description)
}

.update_news_md <- function(version = "Version Not Provided") {
.update_news_md <- function(version = "Version Not Provided", interact = getOption("DataPackageR_interact",interactive())) {
news_file <- .newsfile()
change_description <- .prompt_user_for_change_description()
change_description <- .prompt_user_for_change_description(interact = interact)
news_con <- file(news_file, open = "r+")
news_file_data <- readLines(news_con)
writeLines(
Expand Down
3 changes: 2 additions & 1 deletion tests/testthat.R
@@ -1,4 +1,5 @@
library(testthat)
library(DataPackageR)

options("DataPackageR_interact" = FALSE)
test_check("DataPackageR")
options("DataPackageR_interact" = interactive())

0 comments on commit 617ad22

Please sign in to comment.