R/query_search.R
changed.
Other files ignored by Codecov
tests/testthat/test-query-search.R
has changed.
DESCRIPTION
has changed.
229 | 229 | } |
|
230 | 230 | expr <- expr[[1L]] |
|
231 | 231 | ||
232 | - | latest <- is_call(expr, "latest") |
|
232 | + | test <- c("parameter", "tag") |
|
233 | + | ||
234 | + | latest <- is_call(expr, "latest") || identical(expr, as.name("latest")) |
|
233 | 235 | if (latest) { |
|
234 | - | stopifnot(length(expr) == 2L) |
|
235 | - | expr <- expr[[2L]] |
|
236 | + | if (length(expr) == 1L) { |
|
237 | + | ## Special exit to make latest() work; this is done better in |
|
238 | + | ## outpack. |
|
239 | + | return(list(latest = TRUE, |
|
240 | + | use = set_names(as.list(rep(FALSE, length(test))), test), |
|
241 | + | expr = TRUE)) |
|
242 | + | } else if (length(expr) == 2L) { |
|
243 | + | expr <- expr[[2L]] |
|
244 | + | } else { |
|
245 | + | stop(sprintf( |
|
246 | + | "Unexpected query '%s'; expected at most one argument to latest", x)) |
|
247 | + | } |
|
236 | 248 | } |
|
237 | 249 | ||
238 | 250 | dat <- parse_query_expr(expr, parameters) |
|
239 | 251 | ||
240 | - | test <- c("parameter", "tag") |
|
241 | 252 | use <- set_names(as.list(test %in% dat$namespace), test) |
|
242 | 253 | expr <- dat$expr |
|
243 | 254 | list(latest = latest, use = use, expr = expr) |
Files | Coverage |
---|---|
R | 99.96% |
Project Totals (41 files) | 99.96% |