Nothing
test_that("Test offline", {
skip_on_cran()
test_dir <- load_dir_to_temp()
test_png <- file.path(test_dir, "example.png")
expect_true(file.exists(test_png))
# Options for testing
ops <- options()
options(resmush_test_offline = TRUE)
expect_true("resmush_test_offline" %in% names(options()))
expect_silent(dm <- resmush_file(test_png, report = FALSE))
expect_s3_class(dm, "data.frame")
expect_snapshot(dm[, -1])
expect_equal(dm$src_img, test_png)
# Reset ops
options(resmush_test_offline = NULL)
expect_false("resmush_test_offline" %in% names(options()))
unlink(test_dir, recursive = TRUE, force = TRUE)
})
test_that("Test corner", {
skip_on_cran()
skip_if_offline()
test_dir <- load_dir_to_temp()
test_png <- file.path(test_dir, "example.png")
expect_true(file.exists(test_png))
# Options for testing
ops <- options()
options(resmush_test_corner = TRUE)
expect_true("resmush_test_corner" %in% names(options()))
expect_message(dm <- resmush_file(test_png))
expect_s3_class(dm, "data.frame")
expect_snapshot(dm[, -c(1, 3, 7)])
expect_equal(dm$src_img, test_png)
# Reset ops
options(resmush_test_corner = NULL)
expect_false("resmush_test_corner" %in% names(options()))
unlink(test_dir, recursive = TRUE, force = TRUE)
})
test_that("Test not provided file", {
skip_on_cran()
skip_if_offline()
# tempfile
fl <- tempfile()
expect_false(file.exists(fl))
expect_message(dm <- resmush_file(fl))
expect_s3_class(dm, "data.frame")
expect_snapshot(dm[, -1])
expect_equal(dm$src_img, fl)
unlink(fl, force = TRUE)
})
test_that("Not valid file", {
skip_on_cran()
skip_if_offline()
# tempfile
fl <- tempfile(, fileext = "txt")
writeLines("testing a fake file", con = fl)
expect_true(file.exists(fl))
expect_message(dm <- resmush_file(fl))
expect_s3_class(dm, "data.frame")
expect_snapshot(dm[, -c(1, 3, 7)])
expect_false(is.na(dm$src_img))
expect_equal(dm$src_img, fl)
unlink(fl, force = TRUE, recursive = TRUE)
})
test_that("Test default opts with png", {
skip_on_cran()
skip_if_offline()
test_dir <- load_dir_to_temp()
test_png <- file.path(test_dir, "example.png")
# Make output
theout <- add_suffix(test_png)
expect_true(file.exists(test_png))
expect_false(file.exists(theout))
expect_message(dm <- resmush_file(test_png))
expect_s3_class(dm, "data.frame")
expect_false(any(is.na(dm)))
expect_equal(dm$src_img, test_png)
expect_true(file.exists(theout))
expect_equal(basename(dm$dest_img), "example_resmush.png")
ratio <- as.double(gsub("%", "", dm$compress_ratio))
expect_lt(ratio, 100)
unlink(test_dir, recursive = TRUE, force = TRUE)
})
test_that("Test opts with png", {
skip_on_cran()
skip_if_offline()
test_dir <- load_dir_to_temp()
test_png <- file.path(test_dir, "example.png")
expect_true(file.exists(test_png))
ins <- file.size(test_png)
# Make output
theout <- add_suffix(test_png, suffix = "_resmush")
expect_false(file.exists(theout))
expect_message(
dm <- resmush_file(test_png, suffix = "")
)
expect_false(file.exists(theout))
expect_s3_class(dm, "data.frame")
expect_false(any(is.na(dm)))
expect_equal(dm$src_img, test_png)
expect_equal(dm$dest_img, dm$src_img)
outs <- file.size(test_png)
expect_lt(outs, ins)
# Check units
fmrted <- make_pretty_size(ins)
expect_identical(dm$src_size, fmrted)
unlink(test_dir, recursive = TRUE, force = TRUE)
})
test_that("Test qlty par with jpg", {
skip_on_cran()
skip_if_offline()
test_dir <- load_dir_to_temp()
test_jpg <- file.path(test_dir, "example.jpg")
expect_true(file.exists(test_jpg))
outf <- add_suffix(test_jpg, "a_jpg_qlty")
expect_false(file.exists(outf))
expect_message(dm <- resmush_file(test_jpg, suffix = "a_jpg_qlty"))
expect_true(file.exists(outf))
expect_s3_class(dm, "data.frame")
expect_false(any(is.na(dm)))
expect_equal(dm$src_img, test_jpg)
ins <- file.size(test_jpg)
outs <- file.size(outf)
expect_lt(outs, ins)
# Check units
fmrted <- make_pretty_size(ins)
expect_identical(dm$src_size, fmrted)
# Use qlty
expect_message(
resmush_clean_dir(tempdir(), "_even_lower"),
"No files to clean"
)
outf2 <- add_suffix(test_jpg, "_even_lower")
expect_false(file.exists(outf2))
dm2 <- resmush_file(test_jpg, suffix = "_even_lower", qlty = 30)
expect_true(file.exists(outf2))
out2s <- file.size(outf2)
expect_lt(out2s, outs)
unlink(test_dir, force = TRUE, recursive = TRUE)
})
test_that("Test full vectors", {
skip_on_cran()
skip_if_offline()
# tempfile
no_file <- tempfile()
# Bad extension
# tempfile
bad_ext <- tempfile(, fileext = ".txt")
writeLines("testing a fake file", con = bad_ext)
jpg_file <- load_inst_to_temp("example.jpg")
png_file <- load_inst_to_temp("example.png")
all_in <- c(png_file, no_file, jpg_file, bad_ext)
res_all <- add_suffix(all_in)
expect_message(resmush_clean_dir(tempdir()))
# Recover options
optsinit <- options()
expect_false(
isTRUE(optsinit$cli.progress_bar_style == "aaa")
)
options(
cli.progress_bar_style = "aaa",
cli.progress_show_after = 1000,
cli.spinner = "ccc"
)
optinit2 <- options()
expect_true(optinit2$cli.progress_bar_style == "aaa")
expect_message(
dm <- resmush_file(all_in),
"Go!"
)
# Restored options
expect_identical(options(), optinit2)
options(
cli.progress_bar_style = optsinit$cli.progress_bar_style,
cli.progress_show_after = optsinit$cli.progress_show_after,
cli.spinner = optsinit$cli.spinner
)
expect_identical(options(), optsinit)
expect_equal(nrow(dm), 4)
expect_equal(dm$src_img, all_in)
expect_equal(basename(dm$dest_img), basename(c(
res_all[1], NA, res_all[3],
NA
)))
expect_message(
resmush_clean_dir(tempdir())
)
unlink(all_in, force = TRUE, recursive = TRUE)
})
test_that("Test full vectors silent", {
skip_on_cran()
skip_if_offline()
# tempfile
no_file <- tempfile()
# Bad extension
# tempfile
bad_ext <- tempfile(, fileext = ".txt")
writeLines("testing a fake file", con = bad_ext)
jpg_file <- load_inst_to_temp("example.jpg")
png_file <- load_inst_to_temp("example.png")
all_in <- c(png_file, no_file, jpg_file, bad_ext)
res_all <- add_suffix(all_in)
expect_message(resmush_clean_dir(tempdir()))
# Recover options
optsinit <- options()
expect_false(
isTRUE(optsinit$cli.progress_bar_style == "aaa")
)
options(
cli.progress_bar_style = "aaa",
cli.progress_show_after = 1000,
cli.spinner = "ccc"
)
optinit2 <- options()
expect_true(optinit2$cli.progress_bar_style == "aaa")
expect_silent(
dm <- resmush_file(all_in,
progress = FALSE,
report = FALSE
)
)
# Restored options
expect_identical(options(), optinit2)
options(
cli.progress_bar_style = optsinit$cli.progress_bar_style,
cli.progress_show_after = optsinit$cli.progress_show_after,
cli.spinner = optsinit$cli.spinner
)
expect_identical(options(), optsinit)
expect_equal(nrow(dm), 4)
expect_equal(dm$src_img, all_in)
expect_equal(basename(dm$dest_img), basename(c(
res_all[1], NA, res_all[3],
NA
)))
expect_message(
resmush_clean_dir(tempdir())
)
unlink(all_in, force = TRUE, recursive = TRUE)
})
test_that("Test exif", {
skip_on_cran()
skip_if_offline()
exif <- tempfile("exif", fileext = ".jpg")
res <- httr2::request(paste0(
"https://raw.githubusercontent.com/dieghernan/resmush/main/",
"img/sample-jpg-exif-876kb.jpg"
))
end <- httr2::req_perform(res, path = exif)
expect_true(file.exists(exif))
resmush_clean_dir(tempdir(), "_without_exif")
resmush_clean_dir(tempdir(), "_with_exif")
# With exif
dm <- resmush_file(exif, "_without_exif", exif_preserve = FALSE)
dm2 <- resmush_file(exif, "_with_exif", exif_preserve = TRUE)
expect_lt(file.size(dm$dest_img), file.size(dm2$dest_img))
expect_message(
resmush_clean_dir(tempdir(), "_without_exif"),
"Would remove"
)
expect_message(
resmush_clean_dir(tempdir(), "_with_exif"),
"Would remove"
)
unlink(exif, force = TRUE)
})
test_that("Test override", {
skip_on_cran()
skip_if_offline()
resmush_clean_dir(tempdir())
test_png <- load_inst_to_temp("example.png", "overr_file")
expect_true(file.exists(test_png))
ins <- file.size(test_png)
# Extract dir
out_dir <- dirname(test_png)
# Make output
theout <- add_suffix(test_png, suffix = "_resmush")
expect_false(file.exists(theout))
expect_message(
dm <- resmush_file(test_png, suffix = "_resmush", overwrite = TRUE)
)
expect_false(file.exists(theout))
expect_s3_class(dm, "data.frame")
expect_false(any(is.na(dm)))
expect_equal(dm$src_img, test_png)
expect_equal(dm$dest_img, dm$src_img)
outs <- file.size(test_png)
expect_lt(outs, ins)
# No new files
expect_length(list.files(out_dir, pattern = "png$"), 1)
unlink(out_dir, force = TRUE, recursive = TRUE)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.