/usr/share/doc/r-cran-rlang/tests/testthat/test-vec.R is in r-cran-rlang 0.2.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | context("vec")
test_that("can poke a range to a vector", {
y <- 11:15
x <- 1:5
x_addr <- sxp_address(x)
expect_error(vec_poke_range(x, 2L, y, 2L, 6L), "too small")
vec_poke_range(x, 2L, y, 2L, 4L)
expect_identical(x, int(1L, 12:14L, 5L))
expect_identical(x_addr, sxp_address(x))
})
test_that("can poke `n` elements to a vector", {
y <- 11:15
x <- 1:5
x_addr <- sxp_address(x)
expect_error(vec_poke_n(x, 2L, y, 2L, 5L), "too small")
vec_poke_n(x, 2L, y, 2L, 4L)
expect_identical(x, int(1L, 12:15))
expect_identical(x_addr, sxp_address(x))
})
test_that("can poke to a vector with default parameters", {
y <- 11:15
x <- 1:5
x_addr <- sxp_address(x)
vec_poke_range(x, 1L, y)
expect_identical(x, y)
expect_identical(x_addr, sxp_address(x))
x <- 1:5
x_addr <- sxp_address(x)
vec_poke_n(x, 1L, y)
expect_identical(x, y)
expect_identical(x_addr, sxp_address(x))
})
test_that("can poke to a vector with double parameters", {
y <- 11:15
x <- 1:5
x_addr <- sxp_address(x)
vec_poke_range(x, 2, y, 2, 5)
expect_identical(x, int(1L, 12:15L))
expect_identical(x_addr, sxp_address(x))
y <- 11:15
x <- 1:5
x_addr <- sxp_address(x)
vec_poke_n(x, 2, y, 2, 4)
expect_identical(x, int(1L, 12:15))
expect_identical(x_addr, sxp_address(x))
})
test_that("vector pokers fail if parameters are not integerish", {
y <- 11:15
x <- 1:5
expect_error(vec_poke_n(x, 2.5, y, 2L, 5L), "integerish")
expect_error(vec_poke_n(x, 2L, y, 2.5, 5L), "integerish")
expect_error(vec_poke_n(x, 2L, y, 2L, 5.5), "integerish")
expect_error(vec_poke_range(x, 2.5, y, 2L, 4L), "integerish")
expect_error(vec_poke_range(x, 2L, y, 2.5, 4L), "integerish")
expect_error(vec_poke_range(x, 2L, y, 2L, 4.5), "integerish")
})
|