forked from r-lib/usethis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-use-pipe.R
44 lines (40 loc) 路 1.31 KB
/
test-use-pipe.R
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
context("use_pipe")
test_that("use_pipe() requires a package", {
create_local_project()
expect_usethis_error(use_pipe(), "not an R package")
})
test_that("use_pipe(export = TRUE) adds promised file, Imports magrittr", {
with_mock(
`usethis:::uses_roxygen` = function(base_path) TRUE, {
create_local_package()
use_pipe(export = TRUE)
expect_match(desc::desc_get("Imports", proj_get()), "magrittr")
expect_proj_file("R", "utils-pipe.R")
}
)
})
test_that("use_pipe(export = FALSE) adds roxygen to package doc", {
with_mock(
`usethis:::uses_roxygen` = function(base_path) TRUE, {
create_local_package()
use_package_doc()
use_pipe(export = FALSE)
expect_match(desc::desc_get("Imports", proj_get()), "magrittr")
package_doc <- read_utf8(proj_path(package_doc_path()))
expect_match(package_doc, "#' @importFrom magrittr %>%", all = FALSE)
}
)
})
test_that("use_pipe(export = FALSE) gives advice if no package doc", {
with_mock(
`usethis:::uses_roxygen` = function(base_path) TRUE, {
create_local_package()
withr::local_options(list(usethis.quiet = FALSE))
expect_message(
use_pipe(export = FALSE),
"Copy and paste this line"
)
expect_match(desc::desc_get("Imports", proj_get()), "magrittr")
}
)
})