Nothing
test_that("eval_conditions() works", {
true_condition <- function(...) TRUE
false_condition <- function(...) FALSE
x <- structure(list(), class = "selenider_element")
conditions_1 <- list(rlang::quo(true_condition), rlang::quo(false_condition))
result <- eval_conditions(rlang::quo(x), conditions_1, timeout = 0.1)
expect_equal(result$timeout, 0.1)
expect_equal(result$calls, list(rlang::quo(true_condition(element)), rlang::quo(false_condition(element))))
expect_equal(result$exprs, conditions_1)
expect_equal(result$res, list(n = 2, val = FALSE))
expect_equal(result$x_res, x)
conditions_2 <- list(rlang::quo(false_condition()), rlang::quo(true_condition()), rlang::quo(true_condition()))
result <- eval_conditions(conditions_2[[1]], conditions_2[-1], timeout = 0.1)
expect_equal(result$timeout, 0.1)
expect_equal(result$calls, rlang::quos(false_condition(), true_condition(), true_condition()))
expect_equal(result$exprs, result$calls)
expect_equal(result$res, list(n = 1, val = FALSE))
expect_equal(result$x_res, FALSE)
conditions_3 <- list(rlang::quo(true_condition()), rlang::quo(true_condition()), rlang::quo(false_condition()))
result <- eval_conditions(conditions_3[[1]], conditions_3[-1], timeout = 0.1)
expect_equal(result$timeout, 0.1)
expect_equal(result$calls, rlang::quos(true_condition(), true_condition(), false_condition()))
expect_equal(result$exprs, result$calls)
expect_equal(result$res, list(n = 3, val = FALSE))
expect_equal(result$x_res, TRUE)
conditions_4 <- list(rlang::quo(true_condition()), rlang::quo(true_condition()), rlang::quo(true_condition()))
result <- eval_conditions(conditions_4[[1]], conditions_4[-1], timeout = 0.1)
expect_equal(result$timeout, 0.1)
expect_equal(result$calls, rlang::quos(true_condition(), true_condition(), true_condition()))
expect_equal(result$exprs, result$calls)
expect_equal(result$res, TRUE)
expect_equal(result$x_res, TRUE)
})
test_that("parse_conditions() works", {
expr <- rlang::expr({ myfunction() })
expect_equal(parse_condition_expr(expr, "x"), expr)
expr <- rlang::expr(!is_present)
expect_equal(parse_condition_expr(expr, "x"), rlang::expr(!is_present(x)))
expr <- rlang::expr((is_present))
expect_equal(parse_condition_expr(expr, "x"), rlang::expr((is_present(x))))
expr <- rlang::expr(is_present || is_enabled)
expect_equal(parse_condition_expr(expr, "x"), rlang::expr(is_present(x) || is_enabled(x)))
expr <- rlang::expr(all(is_present, is_enabled, na.rm = TRUE))
expect_equal(
parse_condition_expr(expr, "x"),
rlang::expr(all(is_present(x), is_enabled(x), na.rm = TRUE))
)
expr <- rlang::expr(is_present(x = 1))
expect_equal(parse_condition_expr(expr, "x"), expr)
expr <- rlang::expr(myfunction(1, y = 2))
expect_equal(parse_condition_expr(expr, "x"), rlang::expr(myfunction(x, 1, y = 2)))
q <- rlang::quo(exists)
expect_error(parse_condition(q, "x"), class = "selenider_error_base_exists")
})
test_that("make_elem_name() works", {
x <- rlang::quo(x + x_ + x___)
expect_equal(make_elem_name(x), "element")
expect_equal(make_elem_name(x, name = "x"), "x__")
})
test_that("get_expr_string() works", {
q <- rlang::quo(element_1 + element_2)
expect_equal(get_expr_string(q), "element_1 + element_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.