Skip to content

Commit bbca3e5

Browse files
authored
Don't message if quiet = TRUE (#146)
* Don't message if `quiet = TRUE` * Add disable too * Add test and catch a few other cases
1 parent 53b81b9 commit bbca3e5

File tree

5 files changed

+43
-9
lines changed

5 files changed

+43
-9
lines changed

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ importFrom(rlang,check_installed)
6666
importFrom(rlang,is_empty)
6767
importFrom(rlang,is_error)
6868
importFrom(rlang,is_function)
69+
importFrom(rlang,is_installed)
6970
importFrom(rlang,is_list)
7071
importFrom(rlang,is_na)
7172
importFrom(rlang,is_null)

R/flipswitch.R

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ enable <- function(adapter = NULL, options = list(), quiet = FALSE) {
2626
if (!adapter %in% webmockr_adapters) {
2727
abort("adapter must be one of 'crul', 'httr', or 'httr2'")
2828
}
29-
if (!requireNamespace(adapter, quietly = TRUE)) {
30-
message(adapter, " not installed, skipping enable")
29+
if (!is_installed(adapter)) {
30+
if (!quiet) {
31+
message(adapter, " not installed, skipping enable")
32+
}
3133
return(invisible(FALSE))
3234
}
3335
http_lib_adapter_registry$adapters[[which(adnms == adapter)]]$enable(quiet)
@@ -37,8 +39,10 @@ enable <- function(adapter = NULL, options = list(), quiet = FALSE) {
3739
function(z) {
3840
pkgname <- z$client
3941
# check if package installed first
40-
if (!requireNamespace(pkgname, quietly = TRUE)) {
41-
message(pkgname, " not installed, skipping enable")
42+
if (!is_installed(pkgname)) {
43+
if (!quiet) {
44+
message(pkgname, " not installed, skipping enable")
45+
}
4246
FALSE
4347
} else {
4448
# if instaled, enable
@@ -70,8 +74,10 @@ disable <- function(adapter = NULL, options = list(), quiet = FALSE) {
7074
if (!adapter %in% webmockr_adapters) {
7175
abort("adapter must be one of 'crul', 'httr', or 'httr2'")
7276
}
73-
if (!requireNamespace(adapter, quietly = TRUE)) {
74-
message(adapter, " not installed, skipping disable")
77+
if (!is_installed(adapter)) {
78+
if (!quiet) {
79+
message(adapter, " not installed, skipping disable")
80+
}
7581
return(invisible(FALSE))
7682
}
7783
http_lib_adapter_registry$adapters[[which(adnms == adapter)]]$disable(quiet)
@@ -81,8 +87,10 @@ disable <- function(adapter = NULL, options = list(), quiet = FALSE) {
8187
function(z) {
8288
pkgname <- z$client
8389
# check if package installed first
84-
if (!requireNamespace(pkgname, quietly = TRUE)) {
85-
message(pkgname, " not installed, skipping disable")
90+
if (!is_installed(pkgname)) {
91+
if (!quiet) {
92+
message(pkgname, " not installed, skipping disable")
93+
}
8694
FALSE
8795
} else {
8896
# if instaled, disable

R/webmockr-package.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@
2222
#' @importFrom fauxpas HTTPRequestTimeout
2323
#' @importFrom R6 R6Class
2424
#' @importFrom rlang abort warn check_installed is_list is_function is_error
25-
#' caller_arg try_fetch caller_env
25+
#' caller_arg try_fetch caller_env is_installed
2626
## usethis namespace: end
2727
NULL
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# can enable and disable quietly
2+
3+
Code
4+
enable(quiet = TRUE)
5+
disable(quiet = TRUE)
6+
7+
---
8+
9+
Code
10+
enable("crul", quiet = TRUE)
11+
disable("crul", quiet = TRUE)
12+

tests/testthat/test-flipswitch.R

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,16 @@ test_that("enabled works", {
7979

8080
expect_error(enabled("foobar"), "'adapter' must be in the set")
8181
})
82+
83+
test_that("can enable and disable quietly", {
84+
local_mocked_bindings(is_installed = function(pkg) pkg != "crul")
85+
86+
expect_snapshot({
87+
enable(quiet = TRUE)
88+
disable(quiet = TRUE)
89+
})
90+
expect_snapshot({
91+
enable("crul", quiet = TRUE)
92+
disable("crul", quiet = TRUE)
93+
})
94+
})

0 commit comments

Comments
 (0)