|
1 |
| -library(mockery) |
2 |
| - |
3 |
| -local({ |
4 |
| - |
5 |
| -pkg <- fs::path_real(local_package_create()) |
6 |
| - |
7 |
| -path2char <- function(x) { |
8 |
| - if (inherits(x, "fs_path")) { |
9 |
| - as.character(x) |
10 |
| - } else { |
11 |
| - x |
12 |
| - } |
13 |
| -} |
14 |
| - |
15 |
| -expect_passes_args <- function(fn, stub, input_args = list(), expected_args) { |
16 |
| - mck <- mockery::mock(NULL) |
17 |
| - mockery::stub(fn, stub, mck) |
18 |
| - |
19 |
| - capture.output(suppressMessages(do.call(fn, input_args))) |
20 |
| - |
21 |
| - mockery::expect_called(mck, 1) |
22 |
| - mock_args <- mockery::mock_args(mck)[[1]] |
23 |
| - mock_args <- lapply(mock_args, path2char) |
24 |
| - expect_equal(mock_args, expected_args) |
25 |
| -} |
26 |
| - |
27 |
| -custom_args <- list( |
28 |
| - dependencies = "dep", |
29 |
| - repos = "repo", |
30 |
| - type = "type", |
31 |
| - upgrade = "upgrade", |
32 |
| - quiet = "quiet", |
33 |
| - build = "build", |
34 |
| - build_opts = "build_opts" |
35 |
| -) |
36 |
| - |
37 |
| -dep_defaults <- list( |
38 |
| - dependencies = NA, |
39 |
| - repos = getOption("repos"), |
40 |
| - type = getOption("pkgType"), |
41 |
| - upgrade = c("default", "ask", "always", "never"), |
42 |
| - quiet = FALSE, |
43 |
| - build = TRUE, |
44 |
| - build_opts = c("--no-resave-data", "--no-manual", " --no-build-vignettes") |
45 |
| -) |
46 |
| - |
47 |
| -dev_dep_defaults <- list( |
48 |
| - dependencies = TRUE, |
49 |
| - repos = getOption("repos"), |
50 |
| - type = getOption("pkgType"), |
51 |
| - upgrade = c("default", "ask", "always", "never"), |
52 |
| - quiet = FALSE, |
53 |
| - build = TRUE, |
54 |
| - build_opts = c("--no-resave-data", "--no-manual", " --no-build-vignettes") |
55 |
| -) |
56 |
| - |
57 |
| -extra <- list(foo = "foo", bar = "bar") |
58 |
| - |
59 |
| -test_that("install_deps passes default args to remotes::install_deps", { |
60 |
| - expect_passes_args( |
61 |
| - install_deps, |
62 |
| - "remotes::install_deps", |
63 |
| - list(pkg), |
64 |
| - c(pkg, dep_defaults) |
65 |
| - ) |
66 |
| -}) |
67 |
| - |
68 |
| -test_that("install_deps passes custom args to remotes::install_deps", { |
69 |
| - expect_passes_args( |
70 |
| - install_deps, |
71 |
| - "remotes::install_deps", |
72 |
| - c(pkg, custom_args), |
73 |
| - c(pkg, custom_args) |
74 |
| - ) |
75 |
| -}) |
76 |
| - |
77 |
| -test_that("install_deps passes ellipsis args to remotes::install_deps", { |
78 |
| - expect_passes_args( |
79 |
| - install_deps, |
80 |
| - "remotes::install_deps", |
81 |
| - c(pkg, extra), |
82 |
| - c(pkg, dep_defaults, extra) |
83 |
| - ) |
84 |
| -}) |
85 |
| - |
86 |
| -test_that("install_dev_deps passes default args to remotes::install_deps", { |
87 |
| - expect_passes_args( |
88 |
| - install_dev_deps, |
89 |
| - "remotes::install_deps", |
90 |
| - list(pkg), |
91 |
| - c(pkg, dev_dep_defaults) |
92 |
| - ) |
93 |
| -}) |
94 |
| - |
95 |
| -test_that("install_dev_deps passes custom args to remotes::install_deps", { |
96 |
| - expect_passes_args( |
97 |
| - install_dev_deps, |
98 |
| - "remotes::install_deps", |
99 |
| - c(pkg, custom_args), |
100 |
| - c(pkg, custom_args) |
101 |
| - ) |
102 |
| -}) |
103 |
| - |
104 |
| -test_that("install_dev_deps passes ellipsis args to remotes::install_deps", { |
105 |
| - expect_passes_args( |
106 |
| - install_dev_deps, |
107 |
| - "remotes::install_deps", |
108 |
| - c(pkg, extra), |
109 |
| - c(pkg, dev_dep_defaults, extra) |
110 |
| - ) |
111 |
| -}) |
112 |
| - |
113 |
| -}) |
114 |
| - |
115 | 1 | test_that("vignettes built on install", {
|
116 | 2 | skip_on_cran()
|
117 | 3 |
|
|
0 commit comments