From 6d1e1133bd02b46090db9122c5917417e23e0288 Mon Sep 17 00:00:00 2001 From: Matthew Kay Date: Sat, 6 Apr 2024 11:13:08 -0500 Subject: [PATCH] ensure point_interval() supports tidy eval, closes #221 --- R/point_interval.R | 8 +++++--- tests/testthat/test.point_interval.R | 7 +++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/R/point_interval.R b/R/point_interval.R index e6c0001a..b49cda29 100644 --- a/R/point_interval.R +++ b/R/point_interval.R @@ -349,10 +349,12 @@ point_interval.rvar = function( .width = .95, .point = median, .interval = qi, .simple_names = TRUE, na.rm = FALSE ) { x = .data - # using substitute here so that names of .point / .interval are passed down correctly - eval(substitute(point_interval( + # using eval_tidy here so that names of .point / .interval are passed down correctly + eval_tidy(expr(point_interval( tibble(.value = x), ..., - .width = .width, .point = .point, .interval = .interval, .simple_names = .simple_names, na.rm = na.rm + .width = .width, + .point = {{ .point }}, .interval = {{ .interval }}, + .simple_names = .simple_names, na.rm = na.rm ))) } diff --git a/tests/testthat/test.point_interval.R b/tests/testthat/test.point_interval.R index 568160b6..ba5f055b 100755 --- a/tests/testthat/test.point_interval.R +++ b/tests/testthat/test.point_interval.R @@ -734,6 +734,13 @@ test_that("flattened indices retain index order", { }) +test_that("automatic partial evaluation works with distributional objects", { + expect_equal( + point_interval(.point = mean)(dist_normal()), + point_interval(dist_normal(), .point = mean) + ) +}) + # 100% intervals ----------------------------------------------------------