diff options
Diffstat (limited to 'R')
-rw-r--r-- | R/pkg/R/DataFrame.R | 11 | ||||
-rw-r--r-- | R/pkg/inst/tests/testthat/test_sparkSQL.R | 8 |
2 files changed, 16 insertions, 3 deletions
diff --git a/R/pkg/R/DataFrame.R b/R/pkg/R/DataFrame.R index f856979c2a..61d47a8c2d 100644 --- a/R/pkg/R/DataFrame.R +++ b/R/pkg/R/DataFrame.R @@ -176,8 +176,8 @@ setMethod("isLocal", #' @param x A SparkDataFrame #' @param numRows The number of rows to print. Defaults to 20. #' @param truncate Whether truncate long strings. If true, strings more than 20 characters will be -#' truncated and all cells will be aligned right -#' +#' truncated. However, if set greater than zero, truncates strings longer than `truncate` +#' characters and all cells will be aligned right. #' @family SparkDataFrame functions #' @rdname showDF #' @name showDF @@ -193,7 +193,12 @@ setMethod("isLocal", setMethod("showDF", signature(x = "SparkDataFrame"), function(x, numRows = 20, truncate = TRUE) { - s <- callJMethod(x@sdf, "showString", numToInt(numRows), truncate) + if (is.logical(truncate) && truncate) { + s <- callJMethod(x@sdf, "showString", numToInt(numRows), numToInt(20)) + } else { + truncate2 <- as.numeric(truncate) + s <- callJMethod(x@sdf, "showString", numToInt(numRows), numToInt(truncate2)) + } cat(s) }) diff --git a/R/pkg/inst/tests/testthat/test_sparkSQL.R b/R/pkg/inst/tests/testthat/test_sparkSQL.R index 74def5ce42..7562fa95e3 100644 --- a/R/pkg/inst/tests/testthat/test_sparkSQL.R +++ b/R/pkg/inst/tests/testthat/test_sparkSQL.R @@ -1582,7 +1582,15 @@ test_that("showDF()", { "| 30| Andy|\n", "| 19| Justin|\n", "+----+-------+\n", sep = "") + expected2 <- paste("+---+----+\n", + "|age|name|\n", + "+---+----+\n", + "|nul| Mic|\n", + "| 30| And|\n", + "| 19| Jus|\n", + "+---+----+\n", sep = "") expect_output(showDF(df), expected) + expect_output(showDF(df, truncate = 3), expected2) }) test_that("isLocal()", { |