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") })