Nothing
context('Override configuration')
test_that('Overridden configuration is stored in config', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
expect_warning(load.project(new_config_setting = TRUE), NA)
expect_equal(config$.override.config, list(new_config_setting = TRUE))
})
test_that('Old-style named argument override.config to load.project is parsed correctly', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
override.config <- list(new_config_setting = TRUE)
expect_warning(load.project(override.config = override.config), NA)
expect_equal(config$.override.config, override.config)
override.config <- list(new_config_setting = TRUE, second_custom_config = 'a')
expect_warning(load.project(override.config = override.config), NA)
expect_equal(config$.override.config, override.config)
})
test_that('Old-style unnamed argument override.config to load.project is parsed correctly', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
override.config <- list(new_config_setting = TRUE)
expect_warning(load.project(override.config), NA)
expect_equal(config$.override.config, override.config)
override.config <- list(new_config_setting = TRUE, second_custom_config = 'a')
expect_warning(load.project(override.config), NA)
expect_equal(config$.override.config, override.config)
})
test_that('New-style ... argument to load.project is parsed correctly', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
expect_warning(load.project(new_config_setting = TRUE), NA)
expect_equal(config$.override.config, list(new_config_setting = TRUE))
expect_warning(load.project(new_config_setting = TRUE, second_custom_config = 'a'), NA)
expect_equal(config$.override.config, list(new_config_setting = TRUE, second_custom_config = 'a'))
})
test_that('New-style ... argument to load.project is parsed correctly when passing a single list', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
expect_warning(load.project(new_config_setting = list(a = 1)), NA)
expect_equal(config$.override.config, list(new_config_setting = list(a = 1)))
})
test_that('Override configuration to built in options is applied correctly', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
config <- .new.config
config$load_libraries <- TRUE
write.dcf(config, 'config/global.dcf')
rm(config)
expect_warning(load.project(load_libraries = FALSE), NA)
expect_equal(config$.override.config, list(load_libraries = FALSE))
expect_equal(config$load_libraries, FALSE)
expect_warning(load.project(load_libraries = FALSE, munging = FALSE), NA)
expect_equal(config$.override.config, list(load_libraries = FALSE, munging = FALSE))
expect_equal(config$load_libraries, FALSE)
expect_equal(config$munging, FALSE)
})
test_that('Override configuration to custom options is applied correctly', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
writeLines('add.config(new_option = TRUE, apply.override = TRUE)',
file.path('lib', 'globals.R'))
expect_warning(load.project(), NA)
expect_equal(config$new_option, TRUE)
expect_warning(load.project(new_option = FALSE), NA)
expect_equal(config$.override.config, list(new_option = FALSE))
expect_equal(config$new_option, FALSE)
})
test_that('Override configuration to built in and custom options is applied correctly', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
writeLines('add.config(new_option = TRUE, apply.override = TRUE)', file.path('lib', 'globals.R'))
expect_warning(load.project(), NA)
expect_equal(config$new_option, TRUE)
expect_warning(load.project(munging = FALSE, new_option = FALSE), NA)
expect_equal(config$.override.config, list(munging = FALSE, new_option = FALSE))
expect_equal(config$munging, FALSE)
expect_equal(config$new_option, FALSE)
})
test_that('Unnamed override (not being a list) raises an error', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
expect_warning(load.project(), NA)
expect_error(load.project('a'), 'All options should be named')
})
test_that('Override configuration to custom options is not applied when using apply.override = FALSE', {
test_project <- tempfile('test_project')
suppressMessages(create.project(test_project))
on.exit(unlink(test_project, recursive = TRUE), add = TRUE)
oldwd <- setwd(test_project)
on.exit(setwd(oldwd), add = TRUE)
on.exit(clear(), add = TRUE)
writeLines('add.config(new_option = TRUE, apply.override = FALSE)', file.path('lib', 'globals.R'))
expect_warning(load.project(), NA)
expect_equal(config$new_option, TRUE)
expect_warning(load.project(new_option = FALSE), NA)
expect_equal(config$.override.config, list(new_option = FALSE))
expect_equal(config$new_option, TRUE)
})
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.