diff --git a/R/expect-setequal.R b/R/expect-setequal.R index 10b864bf2..f9a53839f 100644 --- a/R/expect-setequal.R +++ b/R/expect-setequal.R @@ -28,8 +28,8 @@ expect_setequal <- function(object, expected) { act <- quasi_label(enquo(object)) exp <- quasi_label(enquo(expected)) - check_vector(object) - check_vector(expected) + check_vector(act$val, error_arg = "object") + check_vector(exp$val, error_arg = "expected") if (!is.null(names(act$val)) && !is.null(names(exp$val))) { testthat_warn("expect_setequal() ignores names") } diff --git a/tests/testthat/_snaps/expect-setequal.md b/tests/testthat/_snaps/expect-setequal.md index d4dad8744..9be759317 100644 --- a/tests/testthat/_snaps/expect-setequal.md +++ b/tests/testthat/_snaps/expect-setequal.md @@ -18,6 +18,16 @@ Condition Error in `expect_setequal()`: ! `expected` must be a vector, not a primitive function. + Code + expect_setequal(!!fun, 1) + Condition + Error in `expect_setequal()`: + ! `object` must be a vector, not a primitive function. + Code + expect_setequal(1, !!fun) + Condition + Error in `expect_setequal()`: + ! `expected` must be a vector, not a primitive function. # useful message on failure diff --git a/tests/testthat/test-expect-setequal.R b/tests/testthat/test-expect-setequal.R index 45b031a04..c8b1fa6db 100644 --- a/tests/testthat/test-expect-setequal.R +++ b/tests/testthat/test-expect-setequal.R @@ -26,9 +26,12 @@ test_that("warns if both inputs are named", { }) test_that("checks inputs", { + fun <- sum expect_snapshot(error = TRUE, { expect_setequal(sum, 1) expect_setequal(1, sum) + expect_setequal(!!fun, 1) + expect_setequal(1, !!fun) }) })