From a2475fda8ec687f9c63ca037e63b113c87f926a6 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Wed, 21 May 2025 16:13:01 +0200 Subject: [PATCH 1/2] convert `check_labeller()` to `validate_labeller()` --- R/facet-grid-.R | 2 +- R/facet-wrap.R | 2 +- R/labeller.R | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/R/facet-grid-.R b/R/facet-grid-.R index 0c0df60bb0..244ccc69f7 100644 --- a/R/facet-grid-.R +++ b/R/facet-grid-.R @@ -187,7 +187,7 @@ facet_grid <- function(rows = NULL, cols = NULL, scales = "fixed", facets_list <- grid_as_facets_list(rows, cols) # Check for deprecated labellers - check_labeller(labeller) + labeller <- validate_labeller(labeller) ggproto(NULL, FacetGrid, shrink = shrink, diff --git a/R/facet-wrap.R b/R/facet-wrap.R index 310745e9dd..2481bb5e6a 100644 --- a/R/facet-wrap.R +++ b/R/facet-wrap.R @@ -188,7 +188,7 @@ facet_wrap <- function(facets, nrow = NULL, ncol = NULL, scales = "fixed", ) # Check for deprecated labellers - check_labeller(labeller) + labeller <- validate_labeller(labeller) # Flatten all facets dimensions into a single one facets <- compact_facets(facets) diff --git a/R/labeller.R b/R/labeller.R index ad57a4f283..9a80fca9ea 100644 --- a/R/labeller.R +++ b/R/labeller.R @@ -578,13 +578,13 @@ assemble_strips <- function(grobs, theme, horizontal = TRUE, clip) { } # Reject old school labeller -check_labeller <- function(labeller) { +validate_labeller <- function(labeller) { labeller <- match.fun(labeller) is_deprecated <- all(c("variable", "value") %in% names(formals(labeller))) if (!is_deprecated) { - return(invisible()) + return(labeller) } lifecycle::deprecate_stop( From 047d58b82ab957c82d7eb41c625e411de957eeb7 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Wed, 21 May 2025 16:14:54 +0200 Subject: [PATCH 2/2] add small test --- tests/testthat/test-labellers.R | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/testthat/test-labellers.R b/tests/testthat/test-labellers.R index 460349e960..7cc6ad0df3 100644 --- a/tests/testthat/test-labellers.R +++ b/tests/testthat/test-labellers.R @@ -1,3 +1,11 @@ +test_that("facets convert labeller to function", { + f <- facet_grid(foo ~ bar, labeller = "label_both") + expect_type(f$params$labeller, "closure") + + f <- facet_wrap(foo ~ bar, labeller = "label_value") + expect_type(f$params$labeller, "closure") +}) + test_that("label_bquote has access to functions in the calling environment", { labels <- data.frame(lab = letters[1:2]) attr(labels, "facet") <- "wrap"