Nothing
# ---- tests below are from the gargle package -------------------- #
# https://github.com/r-lib/gargle/blob/main/tests/testthat/test-utils-ui.R
test_that("cli_menu() basic usage", {
cli_menu_with_mock <- function(x) {
local_user_input(x)
cli_menu(
"Found multiple thingies.",
"Which one do you want to use?",
glue::glue("label {head(letters, 3)}")
)
}
expect_snapshot(cli_menu_with_mock(1))
})
test_that("cli_menu() does not infinite loop with invalid mocked input", {
cli_menu_with_mock <- function(x) {
local_user_input(x)
cli_menu(
"Found multiple thingies.",
"Which one do you want to use?",
glue("label {head(letters, 3)}")
)
}
expect_snapshot(cli_menu_with_mock("nope"), error = TRUE)
})
test_that("cli_menu() can work through multiple valid mocked inputs", {
cli_menu_with_mock <- function(x) {
local_user_input(x)
header <- "Found multiple thingies."
prompt <- "Which one do you want to use?"
choices <- glue::glue("label {1:3}")
first <- cli_menu(header, prompt, choices)
second <- cli_menu(header, prompt, choices)
c(first, second)
}
expect_snapshot(
out <- cli_menu_with_mock(c(1, 3))
)
expect_equal(out, c(1, 3))
})
test_that("cli_menu(), request exit via 0", {
cli_menu_with_mock <- function(x) {
local_user_input(x)
cli_menu(
"Found multiple thingies.",
"Which one do you want to use?",
glue("label {head(letters, 3)}")
)
}
expect_snapshot(error = TRUE, cli_menu_with_mock(0))
})
test_that("cli_menu(exit =) works", {
cli_menu_with_mock <- function(x) {
local_user_input(x)
cli_menu(
header = "Hey we need to talk.",
prompt = "What do you want to do?",
choices = c(
"Give up",
"Some other thing"
),
exit = 1
)
}
expect_snapshot(error = TRUE, cli_menu_with_mock(1))
expect_snapshot(cli_menu_with_mock(2))
})
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.