From 625b3eea7993d74c47a0375a147238c026106ab4 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Mon, 7 Oct 2024 10:16:23 +0200 Subject: [PATCH 1/2] `breaks_pretty()` returns input when zero-width range --- R/breaks.R | 3 +++ tests/testthat/test-breaks.R | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/R/breaks.R b/R/breaks.R index 947f3aa6..27b5d2da 100644 --- a/R/breaks.R +++ b/R/breaks.R @@ -122,6 +122,9 @@ breaks_pretty <- function(n = 5, ...) { force_all(n, ...) n_default <- n function(x, n = n_default) { + if (zero_range(as.numeric(x))) { + return(x[1]) + } breaks <- pretty(x, n, ...) names(breaks) <- attr(breaks, "labels") breaks diff --git a/tests/testthat/test-breaks.R b/tests/testthat/test-breaks.R index 121b3400..e6481502 100644 --- a/tests/testthat/test-breaks.R +++ b/tests/testthat/test-breaks.R @@ -30,3 +30,7 @@ test_that("breaks_pretty() arguments are forcely evaluated on each call #81", { expect_equal(subfun1(1), subfuns[[1]](1)) expect_equal(subfun2(1), subfuns[[2]](1)) }) + +test_that("breaks_pretty() returns input when given zero-width range (#446)", { + expect_equal(breaks_pretty()(c(1, 1)), 1) +}) From e2a49e6f791ae7206e7a3d8e1ee189d67e1546b6 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Mon, 7 Oct 2024 10:17:22 +0200 Subject: [PATCH 2/2] add news bullet --- NEWS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS.md b/NEWS.md index 9646d4a5..67868f79 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,7 @@ # scales (development version) +* `breaks_pretty()` will return the input limit when it has no range (#446) + # scales 1.3.0 ## Better type support