Skip to content

Commit cae685c

Browse files
Jordan S ReadLindsay Carr
authored andcommitted
fix and test for #322
1 parent 181e65a commit cae685c

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed

R/function_args.R

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,12 @@
1010
#' @param drop boolean for dropping all non-formal args passed in with \dots
1111
#'
1212
#' @keywords internal
13-
function_args <- function(package, name, object, ..., use.default=paste0(name,'.default'), drop=FALSE){
13+
function_args <- function(package, name, object=c(), ..., use.default=paste0(name,'.default'), drop=FALSE){
1414
params <- list(...)
1515

1616
if (!missing(object)) {
17-
if (!is.null(names(object)))
18-
params <- append(object, params)
19-
else {
20-
params <- append(list(object), params)
21-
}
22-
} else {
23-
object = c() # replace w/ empty
24-
}
17+
params <- append_params(object, params)
18+
}
2519

2620
if (length(params) == 0)
2721
return(list())
@@ -65,4 +59,20 @@ function_args <- function(package, name, object, ..., use.default=paste0(name,'.
6559
return(params)
6660
}
6761

62+
append_params <- function(object, params){
63+
UseMethod('append_params')
64+
}
65+
66+
append_params.NULL <- function(object, params){
67+
params
68+
}
69+
70+
append_params.list <- function(object, params){
71+
append(object, params)
72+
}
73+
74+
append_params.default <- function(object, params){
75+
append(list(object), params)
76+
}
77+
6878
user_function_args <- function_args

man/function_args.Rd

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/testthat/tests-points.R

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ test_that("graphics examples work", {
1010
lx <- seq(1, 5, length = 41)
1111
xy = xy.coords(x=10^lx,y=exp(-.5*lx^2))
1212
plot.xy(xy, type='p')
13-
13+
14+
plot(1,3)
15+
points(data.frame(1,2), col='red')
16+
1417
})
1518

1619
context("points arguments")

0 commit comments

Comments
 (0)