Skip to content

Commit 5541e9c

Browse files
committed
address lines revealed by codecov
1 parent 6dfd502 commit 5541e9c

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

R/setkey.R

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,6 @@ setorderv = function(x, cols = colnames(x), order=1L, na.last=FALSE, neworder) {
284284
warning("Argument order is ignored when neworder argument was provided")
285285
if (!missing(na.last))
286286
warning("Argument na.last is ignored when neworder argument was provided")
287-
if (length(neworder) != nrow(x))
288-
stop("Provided neworder is a different length than nrow of provided data.table")
289287
if (!is.integer(neworder) && is.numeric(neworder))
290288
neworder = as.integer(neworder)
291289
o = neworder

inst/tests/tests.Rraw

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13725,6 +13725,9 @@ test(1967.622, setnames(x, 1:2, c("a",NA)), error = "NA in 'new' at positions [2
1372513725
test(1967.63, setcolorder(x, c(1, 1)), error = 'Item 2 of order (1) is either NA, out of range [1,2], or is duplicated. The new order must be a strict permutation of 1:n')
1372613726
test(1967.64, setcolorder(x, 1+3i), error = 'must be character or numeric')
1372713727
test(1967.65, setcolorder(x, 300), error = 'specify non existing column*.*300')
13728+
d = data.table(1:2, 2:3)
13729+
setattr(d, "names", NULL)
13730+
test(1967.651, setcolorder(d, 2:1), error="dt passed to setcolorder has no names")
1372813731

1372913732
test(1967.66, rbindlist(list(x), idcol = FALSE), rbindlist(list(x)))
1373013733
test(1967.67, rbindlist(list(x), idcol = 1+3i), error = 'idcol must be a logical')
@@ -16859,10 +16862,11 @@ test(2139.03, setorderv(DT, order=1L, neworder = 1:4), d, warning = "Argument or
1685916862
test(2139.04, setorderv(DT, na.last=FALSE, neworder = 1:4), d, warning = "Argument na.last is ignored")
1686016863
test(2139.05, setorderv(DT, order=1L, na.last=FALSE, neworder = 1:4), d, warning = c("Argument order is ignored","Argument na.last is ignored"))
1686116864
test(2139.06, setorderv(DT, cols="id1", neworder = 1:4), error = "Provide either cols or neworder, not both")
16862-
test(2139.07, setorderv(DT, neworder = 1:3), error = "Provided neworder is a different length than nrow of provided data.table")
16863-
test(2139.08, setorderv(DT, neworder = 1:5), error = "Provided neworder is a different length than nrow of provided data.table")
16865+
test(2139.07, setorderv(DT, neworder = 1:3), error = "length must be equal to nrow")
16866+
test(2139.08, setorderv(DT, neworder = 1:5), error = "length must be equal to nrow")
1686416867
test(2139.09, setorderv(DT, neworder = c(1L,1L,2L,3L)), error = "duplicated")
1686516868
test(2139.10, setorderv(DT, neworder = c(1L,2L,3L,NA_integer_)), error = "NA")
1686616869
test(2139.11, setorderv(DT, neworder = c(1L,0L,2L,3L)), error = "out of range")
1686716870
test(2139.12, setorderv(DT, neworder = c(1L,5L,2L,3L)), error = "out of range")
1686816871
test(2139.13, setorderv(DT, neworder = as.numeric(s)), d[s])
16872+
test(2139.14, setorderv(DT, neworder=c("a","b")), error="must be an integer vector")

src/reorder.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ SEXP reorder(SEXP x, SEXP order) {
3434
if (!isInteger(order))
3535
error(_("order must be an integer vector"));
3636
if (length(order) != nrow)
37-
error(_("nrow(x)[%d]!=length(order)[%d]"),nrow,length(order));
37+
error(_("order length must be equal to nrow of x: nrow(x)[%d]!=length(order)[%d]"),nrow,length(order));
3838
int nprotect = 0;
3939
if (ALTREP(order)) {
4040
order=PROTECT(copyAsPlain(order)); nprotect++;

0 commit comments

Comments
 (0)