From 23bccb8a33a835265412f2fb138566c61f04b9fa Mon Sep 17 00:00:00 2001 From: Jon Calder Date: Fri, 28 Dec 2018 09:21:33 +0200 Subject: [PATCH] Add check for name length (#98) --- R/createAnalysisProject.R | 1 + R/createBasicProject.R | 1 + R/createPackageProject.R | 1 + R/createTrainingProject.R | 1 + tests/testthat/test-AAA-createBasicProject.R | 8 ++++++++ tests/testthat/test-createAnalysisProject.R | 8 ++++++++ tests/testthat/test-createPackageProject.R | 8 ++++++++ tests/testthat/test-createTrainingProject.R | 8 ++++++++ 8 files changed, 36 insertions(+) diff --git a/R/createAnalysisProject.R b/R/createAnalysisProject.R index 3e817c8..5843088 100644 --- a/R/createAnalysisProject.R +++ b/R/createAnalysisProject.R @@ -35,6 +35,7 @@ createAnalysisProject <- function(name, title = NULL, dirs = c("data", "analysis", "outputs")) { if (missing(name)) stop("name is required") if (!is.character(name)) stop("name has to be a character") + if (nchar(name) < 2) stop("name needs to have at least two characters") packagedeps <- match.arg(packagedeps, okpackagedeps()) diff --git a/R/createBasicProject.R b/R/createBasicProject.R index e3c4ebc..ad376f9 100644 --- a/R/createBasicProject.R +++ b/R/createBasicProject.R @@ -53,6 +53,7 @@ createBasicProject <- function(name, reset = TRUE) { if (missing(name)) stop("name is required") if (!is.character(name)) stop("name has to be a character") + if (nchar(name) < 2) stop("name needs to have at least two characters") packagedeps <- match.arg(packagedeps, okpackagedeps()) diff --git a/R/createPackageProject.R b/R/createPackageProject.R index b739790..778ab25 100644 --- a/R/createPackageProject.R +++ b/R/createPackageProject.R @@ -54,6 +54,7 @@ createPackageProject <- function(name, title = NULL, )) { if (missing(name)) stop("name is required") if (!is.character(name)) stop("name has to be a character") + if (nchar(name) < 2) stop("name needs to have at least two characters") # create title if (is.null(title)) { diff --git a/R/createTrainingProject.R b/R/createTrainingProject.R index 37c364a..d1f0725 100644 --- a/R/createTrainingProject.R +++ b/R/createTrainingProject.R @@ -41,6 +41,7 @@ createTrainingProject <- function(name, folder = getwd(), reset = TRUE) { if (missing(name)) stop("name is required") if (!is.character(name)) stop("name has to be a character") + if (nchar(name) < 2) stop("name needs to have at least two characters") packagedeps <- match.arg(packagedeps, okpackagedeps()) # Supported packages diff --git a/tests/testthat/test-AAA-createBasicProject.R b/tests/testthat/test-AAA-createBasicProject.R index 5ba7151..758d3f5 100644 --- a/tests/testthat/test-AAA-createBasicProject.R +++ b/tests/testthat/test-AAA-createBasicProject.R @@ -23,6 +23,14 @@ test_that("createBasicProject() errors if name missing or not correct", { git = TRUE, external_setup = NULL )) + + expect_error(createBasicProject( + name = "a", + folder = tmp, + packagedeps = "packrat", + git = TRUE, + external_setup = NULL + )) }) diff --git a/tests/testthat/test-createAnalysisProject.R b/tests/testthat/test-createAnalysisProject.R index 9b881ff..da6dbea 100644 --- a/tests/testthat/test-createAnalysisProject.R +++ b/tests/testthat/test-createAnalysisProject.R @@ -23,6 +23,14 @@ test_that("createAnalysisProject() errors if name missing or not correct", { git = TRUE, external_setup = NULL )) + + expect_error(createAnalysisProject( + name = "a", + folder = tmp, + packagedeps = "packrat", + git = TRUE, + external_setup = NULL + )) }) diff --git a/tests/testthat/test-createPackageProject.R b/tests/testthat/test-createPackageProject.R index 9739601..285bd3b 100644 --- a/tests/testthat/test-createPackageProject.R +++ b/tests/testthat/test-createPackageProject.R @@ -33,6 +33,14 @@ test_that("createPackageProject() errors if name missing or not correct", { git = TRUE, external_setup = NULL )) + + expect_error(createPackageProject( + name = "a", + folder = tmp, + packagedeps = "packrat", + git = TRUE, + external_setup = NULL + )) }) diff --git a/tests/testthat/test-createTrainingProject.R b/tests/testthat/test-createTrainingProject.R index 389bc8a..ccafdd5 100644 --- a/tests/testthat/test-createTrainingProject.R +++ b/tests/testthat/test-createTrainingProject.R @@ -22,6 +22,14 @@ test_that("createTrainingProject() errors if name missing or not correct", { git = TRUE, external_setup = NULL )) + + expect_error(createTrainingProject( + name = "a", + folder = tmp, + packagedeps = "packrat", + git = TRUE, + external_setup = NULL + )) })