Skip to content

Commit 4d0ed09

Browse files
committed
Throw NA breaks error in 1 place
1 parent 151b4b1 commit 4d0ed09

File tree

3 files changed

+15
-56
lines changed

3 files changed

+15
-56
lines changed

R/scale-.R

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,12 @@ check_breaks_labels <- function(breaks, labels, call = NULL) {
607607
if (is.null(breaks)) {
608608
return(TRUE)
609609
}
610+
if (identical(breaks, NA)) {
611+
cli::cli_abort(
612+
"Invalid {.arg breaks} specification. Use {.code NULL}, not {.code NA}.",
613+
call = call
614+
)
615+
}
610616
if (is.null(labels)) {
611617
return(TRUE)
612618
}
@@ -722,12 +728,6 @@ ScaleContinuous <- ggproto("ScaleContinuous", Scale,
722728
if (is.null(breaks)) {
723729
return(NULL)
724730
}
725-
if (identical(breaks, NA)) {
726-
cli::cli_abort(
727-
"Invalid {.arg breaks} specification. Use {.code NULL}, not {.code NA}.",
728-
call = self$call
729-
)
730-
}
731731

732732
# Ensure limits don't exceed domain (#980)
733733
domain <- suppressWarnings(transformation$transform(transformation$domain))
@@ -1004,13 +1004,6 @@ ScaleDiscrete <- ggproto("ScaleDiscrete", Scale,
10041004
return(NULL)
10051005
}
10061006

1007-
if (identical(self$breaks, NA)) {
1008-
cli::cli_abort(
1009-
"Invalid {.arg breaks} specification. Use {.code NULL}, not {.code NA}.",
1010-
call = self$call
1011-
)
1012-
}
1013-
10141007
if (is.waive(self$breaks)) {
10151008
breaks <- limits
10161009
} else if (is.function(self$breaks)) {
@@ -1228,11 +1221,6 @@ ScaleBinned <- ggproto("ScaleBinned", Scale,
12281221

12291222
if (is.null(self$breaks)) {
12301223
return(NULL)
1231-
} else if (identical(self$breaks, NA)) {
1232-
cli::cli_abort(
1233-
"Invalid {.arg breaks} specification. Use {.code NULL}, not {.code NA}.",
1234-
call = self$call
1235-
)
12361224
} else if (is.waive(self$breaks)) {
12371225
if (self$nice.breaks) {
12381226
if (!is.null(self$n.breaks) && support_nbreaks(transformation$breaks)) {

tests/testthat/test-scales-breaks-labels.R

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -170,38 +170,12 @@ test_that("suppressing breaks, minor_breask, and labels works", {
170170

171171
test_that("scale_breaks with explicit NA options (deprecated)", {
172172
# NA is defunct, should throw error
173-
174-
# X
175-
sxc <- scale_x_continuous(breaks = NA)
176-
sxc$train(1:3)
177-
expect_error(sxc$get_breaks())
178-
expect_error(sxc$get_breaks_minor())
179-
180-
# Y
181-
syc <- scale_y_continuous(breaks = NA)
182-
syc$train(1:3)
183-
expect_error(syc$get_breaks())
184-
expect_error(syc$get_breaks_minor())
185-
186-
# Alpha
187-
sac <- scale_alpha_continuous(breaks = NA)
188-
sac$train(1:3)
189-
expect_error(sac$get_breaks())
190-
191-
# Size
192-
ssc <- scale_size_continuous(breaks = NA)
193-
ssc$train(1:3)
194-
expect_error(ssc$get_breaks())
195-
196-
# Fill
197-
sfc <- scale_fill_continuous(breaks = NA)
198-
sfc$train(1:3)
199-
expect_error(sfc$get_breaks())
200-
201-
# Colour
202-
scc <- scale_colour_continuous(breaks = NA)
203-
scc$train(1:3)
204-
expect_error(scc$get_breaks())
173+
expect_error(scale_x_continuous(breaks = NA))
174+
expect_error(scale_y_continuous(breaks = NA))
175+
expect_error(scale_alpha_continuous(breaks = NA))
176+
expect_error(scale_size_continuous(breaks = NA))
177+
expect_error(scale_fill_continuous(breaks = NA))
178+
expect_error(scale_colour_continuous(breaks = NA))
205179
})
206180

207181
test_that("breaks can be specified by names of labels", {

tests/testthat/test-scales.R

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -432,21 +432,18 @@ test_that("scales accept lambda notation for function input", {
432432

433433
test_that("breaks and labels are correctly checked", {
434434
expect_snapshot_error(check_breaks_labels(1:10, letters))
435-
p <- ggplot(mtcars) + geom_point(aes(mpg, disp)) + scale_x_continuous(breaks = NA)
436-
expect_snapshot_error(ggplot_build(p))
435+
expect_snapshot_error(scale_x_continuous(breaks = NA))
437436
p <- ggplot(mtcars) + geom_point(aes(mpg, disp)) + scale_x_continuous(minor_breaks = NA)
438437
expect_snapshot_error(ggplot_build(p))
439438
p <- ggplot(mtcars) + geom_point(aes(mpg, disp)) + scale_x_continuous(labels = NA)
440439
expect_snapshot_error(ggplotGrob(p))
441440
p <- ggplot(mtcars) + geom_point(aes(mpg, disp)) + scale_x_continuous(labels = function(x) 1:2)
442441
expect_snapshot_error(ggplotGrob(p))
443-
p <- ggplot(mtcars) + geom_bar(aes(factor(gear))) + scale_x_discrete(breaks = NA)
444-
expect_snapshot_error(ggplot_build(p))
442+
expect_snapshot_error(scale_x_discrete(breaks = NA))
445443
p <- ggplot(mtcars) + geom_bar(aes(factor(gear))) + scale_x_discrete(labels = NA)
446444
expect_snapshot_error(ggplotGrob(p))
447445

448-
p <- ggplot(mtcars) + geom_bar(aes(mpg)) + scale_x_binned(breaks = NA)
449-
expect_snapshot_error(ggplot_build(p))
446+
expect_snapshot_error(scale_x_binned(breaks = NA))
450447
p <- ggplot(mtcars) + geom_bar(aes(mpg)) + scale_x_binned(labels = NA)
451448
expect_snapshot_error(ggplotGrob(p))
452449
p <- ggplot(mtcars) + geom_bar(aes(mpg)) + scale_x_binned(labels = function(x) 1:2)

0 commit comments

Comments
 (0)