test_that("match_arg() works", {
expect_equal(match_arg("ab", c("abcdef", "defgh")), "abcdef")
expect_error(match_arg("abcdefg", c("Abcdef", "defg")), "not a prefix of any")
expect_equal(
match_arg("ab", c("Abcdef", "defgh"), ignore_case = TRUE),
"Abcdef"
)
expect_equal(match_arg("ab", c("xyz", "Abcdef", "defgh"),
ignore_case = TRUE, index = TRUE
), 2)
choices <- c("Apples", "Pears", "Bananas", "Oranges")
expect_equal(match_arg("A", choices), "Apples")
expect_equal(match_arg("B", choices, index = TRUE), 3)
expect_equal(
match_arg(c("b", "a"), choices,
several_ok = TRUE,
ignore_case = TRUE
),
c("Bananas", "Apples")
)
expect_equal(
match_arg(c("b", "a"), choices,
ignore_case = TRUE, index = TRUE,
several_ok = TRUE
),
c(3, 1)
)
choices <- c(choices, "Avocados", "Apricots")
expect_snapshot_error(match_arg("A", choices, ignore_case = FALSE))
x <- "a"
expect_snapshot_error(match_arg(x, choices, ignore_case = TRUE))
expect_error(
match_arg(c("A", "a"), choices),
str_c(
"`arg` must have length 1.+",
". Your `arg` has length 2.+",
". To use an `arg` with length greater than one, use.+",
"`several_ok = TRUE`."
)
)
choices <- c(choices, "bananas")
expect_snapshot_error(match_arg("p", choices, ignore_case = TRUE))
choices <- c(choices, "Pears")
expect_snapshot_error(match_arg("p", choices, ignore_case = TRUE))
expect_equal(match_arg("ab", c("ab", "abc")), "ab")
y <- "a"
expect_snapshot_error(match_arg(y, as.character(1:51)))
word <- function(w = c("abacus", "baseball", "candy")) {
match_arg(w)
}
expect_equal(word("b"), "baseball")
expect_equal(word(), "abacus")
word <- function(w = c("abacus", "baseball", "candy")) {
match_arg(w, several_ok = TRUE)
}
expect_equal(word("c"), "candy")
expect_equal(word(), c("abacus", "baseball", "candy"))
word <- function(w = c("abacus", "baseball", "candy")) {
match_arg(as.character(w), several_ok = TRUE)
}
expect_snapshot_error(word())
word <- function(w = 1:3) {
match_arg(w, several_ok = TRUE)
}
expect_snapshot_error(word())
word <- function(w = c("abacus", "baseball", "candy")) {
x <- "a"
match_arg(x, several_ok = TRUE)
}
expect_snapshot_error(word())
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.