test_that("checks uncommitted files", {
create_local_package()
expect_error(rename_files("foo", "bar"), class = "usethis_error")
git_init()
use_r("foo", open = FALSE)
expect_error(
rename_files("foo", "bar"),
"uncommitted changes",
class = "usethis_error"
)
})
test_that("renames R and test and snapshot files", {
create_local_package()
local_mocked_bindings(challenge_uncommitted_changes = function(...) invisible())
git_init()
use_r("foo", open = FALSE)
rename_files("foo", "bar")
expect_proj_file("R/bar.R")
use_test("foo", open = FALSE)
rename_files("foo", "bar")
expect_proj_file("tests/testthat/test-bar.R")
dir_create(proj_path("tests", "testthat", "_snaps"))
write_utf8(proj_path("tests", "testthat", "_snaps", "foo.md"), "abc")
rename_files("foo", "bar")
expect_proj_file("tests/testthat/_snaps/bar.md")
})
test_that("renames src/ files", {
create_local_package()
local_mocked_bindings(challenge_uncommitted_changes = function(...) invisible())
git_init()
use_src()
file_create(proj_path("src/foo.c"))
file_create(proj_path("src/foo.h"))
withr::local_options(list(usethis.quiet = FALSE))
expect_snapshot({
rename_files("foo", "bar")
})
expect_proj_file("src/bar.c")
expect_proj_file("src/bar.h")
})
test_that("strips context from test file", {
create_local_package()
local_mocked_bindings(challenge_uncommitted_changes = function(...) invisible())
git_init()
use_testthat()
write_utf8(
proj_path("tests", "testthat", "test-foo.R"),
c(
"context('bar')",
"",
"a <- 1"
)
)
rename_files("foo", "bar")
lines <- read_utf8(proj_path("tests", "testthat", "test-bar.R"))
expect_equal(lines, "a <- 1")
})
test_that("rename paths in test file", {
create_local_package()
local_mocked_bindings(challenge_uncommitted_changes = function(...) invisible())
git_init()
use_testthat()
write_utf8(proj_path("tests", "testthat", "test-foo.txt"), "10")
write_utf8(proj_path("tests", "testthat", "test-foo.R"), "test-foo.txt")
rename_files("foo", "bar")
expect_proj_file("tests/testthat/test-bar.txt")
lines <- read_utf8(proj_path("tests", "testthat", "test-bar.R"))
expect_equal(lines, "test-bar.txt")
})
test_that("does not remove non-R dots in filename", {
create_local_package()
local_mocked_bindings(challenge_uncommitted_changes = function(...) invisible())
git_init()
file_create(proj_path("R/foo.bar.R"))
rename_files("foo.bar", "baz.qux")
expect_proj_file("R/baz.qux.R")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.