From ec6f2dcf3b665841ff3c62e73ce2d25f68408e7a Mon Sep 17 00:00:00 2001 From: SHIMA Tatsuya Date: Sat, 10 Sep 2022 11:15:42 +0000 Subject: [PATCH 1/2] allow `dplyr::desc` Signed-off-by: SHIMA Tatsuya --- r/R/dplyr-arrange.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/r/R/dplyr-arrange.R b/r/R/dplyr-arrange.R index 247a539f527..bf53bd18852 100644 --- a/r/R/dplyr-arrange.R +++ b/r/R/dplyr-arrange.R @@ -76,7 +76,7 @@ find_and_remove_desc <- function(quosure) { if (identical(expr[[1]], quote(`(`))) { # remove enclosing parentheses expr <- expr[[2]] - } else if (identical(expr[[1]], quote(desc))) { + } else if (identical(expr[[1]], quote(desc)) || identical(expr[[1]], quote(dplyr::desc))) { # ensure desc() has only one argument (when an R expression is a function # call, length == 2 means it has exactly one argument) if (length(expr) > 2) { From f6019fb4abec23b126a11d89966f639fb0cb7ee9 Mon Sep 17 00:00:00 2001 From: SHIMA Tatsuya Date: Sat, 10 Sep 2022 11:26:27 +0000 Subject: [PATCH 2/2] add tests Signed-off-by: SHIMA Tatsuya --- r/tests/testthat/test-dplyr-arrange.R | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/r/tests/testthat/test-dplyr-arrange.R b/r/tests/testthat/test-dplyr-arrange.R index fee1475a44e..66e5ac24f80 100644 --- a/r/tests/testthat/test-dplyr-arrange.R +++ b/r/tests/testthat/test-dplyr-arrange.R @@ -33,12 +33,24 @@ test_that("arrange() on integer, double, and character columns", { collect(), tbl ) + compare_dplyr_binding( + .input %>% + arrange(int, dplyr::desc(dbl)) %>% + collect(), + tbl + ) compare_dplyr_binding( .input %>% arrange(int, desc(desc(dbl))) %>% collect(), tbl ) + compare_dplyr_binding( + .input %>% + arrange(int, dplyr::desc(dplyr::desc(dbl))) %>% + collect(), + tbl + ) compare_dplyr_binding( .input %>% arrange(int) %>% @@ -46,6 +58,13 @@ test_that("arrange() on integer, double, and character columns", { collect(), tbl ) + compare_dplyr_binding( + .input %>% + arrange(int) %>% + arrange(dplyr::desc(dbl)) %>% + collect(), + tbl + ) compare_dplyr_binding( .input %>% arrange(int + dbl, chr) %>% @@ -200,4 +219,11 @@ test_that("arrange() with bad inputs", { "expects only one argument", fixed = TRUE ) + expect_error( + tbl %>% + Table$create() %>% + arrange(dplyr::desc(int, chr)), + "expects only one argument", + fixed = TRUE + ) })