test_that("styler can style files", {
# just one
capture_output(expect_equal(
{
out <- style_file(c(
testthat_file("public-api", "xyzfile", "random-script.R")
), strict = FALSE)
out$changed
},
rep(FALSE, 1),
ignore_attr = TRUE
))
# multiple not in the same working directory
capture_output(expect_equal(
{
out <- style_file(c(
testthat_file("public-api", "xyzfile", "random-script.R"),
testthat_file("public-api", "xyzfile", "subfolder", "random-script.R")
), strict = FALSE)
out$changed
},
rep(FALSE, 2),
ignore_attr = TRUE
))
})
test_that("styler does not return error when there is no file to style", {
capture_output(expect_error(style_dir(
testthat_file("public-api", "xyzemptydir"),
strict = FALSE
), NA))
})
test_that("styler can style Rmd file", {
expect_false({
out <- style_file(
testthat_file("public-api", "xyzfile_rmd", "random.Rmd"),
strict = FALSE
)
out$changed
})
styled <- style_file(
testthat_file("public-api", "xyzfile_rmd", "random2.Rmd"),
strict = FALSE
)
expect_false(styled$changed)
})
test_that("styler can style Rmarkdown file", {
expect_false({
out <- style_file(
testthat_file("public-api", "xyzfile_rmd", "random.Rmarkdown"),
strict = FALSE
)
out$changed
})
styled <- style_file(
testthat_file("public-api", "xyzfile_rmd", "random2.Rmarkdown"),
strict = FALSE
)
expect_false(styled$changed)
})
test_that("styler can style qmd file", {
expect_false({
out <- style_file(
testthat_file("public-api", "xyzfile_qmd", "new.qmd"),
strict = FALSE
)
out$changed
})
styled <- style_file(
testthat_file("public-api", "xyzfile_rmd", "random2.Rmarkdown"),
strict = FALSE
)
expect_false(styled$changed)
})
test_that("styler handles malformed Rmd file and invalid R code in chunk", {
capture_output(expect_warning(
style_file(testthat_file("public-api", "xyzfile_rmd", "invalid4.Rmd"), strict = FALSE),
"3: "
))
capture_output(expect_warning(
style_file(testthat_file("public-api", "xyzfile_rmd", "invalid7.Rmd"), strict = FALSE),
"Malformed file"
))
})
test_that("messages (via cat()) of style_file are correct", {
for (encoding in ls_testable_encodings()) {
withr::with_options(
list(cli.unicode = encoding == "utf8"),
{
# Message if scope > line_breaks and code changes
expect_snapshot({
cat(catch_style_file_output(file.path(
"public-api",
"xyzdir-dirty",
"dirty-sample-with-scope-tokens.R"
)), sep = "\n")
})
# No message if scope > line_breaks and code does not change
expect_snapshot({
cat(catch_style_file_output(file.path(
"public-api", "xyzdir-dirty", "clean-sample-with-scope-tokens.R"
)), sep = "\n")
})
# No message if scope <= line_breaks even if code is changed.
expect_snapshot({
cat(catch_style_file_output(file.path(
"public-api", "xyzdir-dirty", "dirty-sample-with-scope-spaces.R"
)), sep = "\n")
})
}
)
}
})
test_that("Messages can be suppressed", {
withr::with_options(
list(styler.quiet = TRUE),
{
output <- catch_style_file_output(file.path(
"public-api", "xyzdir-dirty", "dirty-sample-with-scope-spaces.R"
))
expect_equal(output, character(0))
}
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.