Nothing
test_that("base path with spaces", {
local_temp_dir()
dir.create("space 1 2")
setwd("space 1 2")
dir.create("dir1")
dir.create("dir2")
cat("file1", file = "dir1/file1")
cat("file2", file = "dir2/file2")
zip::zip("zip1.zip", c("dir1", "dir2"), mode = "mirror")
l <- zip_list("zip1.zip")
expect_equal(l$filename, c("dir1/", "dir1/file1", "dir2/", "dir2/file2"))
dir.create("ex1")
zip::unzip("zip1.zip", exdir = "ex1")
expect_equal(
sort(dir("ex1", recursive = TRUE)),
c("dir1/file1", "dir2/file2")
)
zip::zip("zip2.zip", c("dir1", "dir2/file2"), mode = "cherry-pick")
l2 <- zip_list("zip2.zip")
expect_equal(l2$filename, c("dir1/", "dir1/file1", "file2"))
dir.create("ex2")
zip::unzip("zip2.zip", exdir = "ex2")
expect_equal(
sort(dir("ex2", recursive = TRUE)),
c("dir1/file1", "file2")
)
})
test_that("uncompressed path with spaces", {
local_temp_dir()
root <- "root 1 2"
dir.create(root)
cat("contents\n", file = file.path(root, "file 3 4"))
zip("zip1.zip", root, mode = "mirror")
l <- zip_list("zip1.zip")
expect_equal(
l$filename,
c(paste0(root, "/"), file.path(root, "file 3 4", fsep = "/"))
)
dir.create("ex1")
zip::unzip("zip1.zip", exdir = "ex1")
expect_equal(
sort(dir("ex1", recursive = TRUE)),
file.path(root, "file 3 4", fsep = "/")
)
zip("zip2.zip", root, mode = "cherry-pick")
l2 <- zip_list("zip2.zip")
dir.create("ex2")
zip::unzip("zip2.zip", exdir = "ex2")
expect_equal(
l2$filename,
c(paste0(root, "/"), file.path(root, "file 3 4", fsep = "/"))
)
})
test_that("base path with non-ASCII characters", {
if (tolower(Sys.info()[["sysname"]]) != "windows") {
skip("Only on Windows")
}
local_temp_dir()
root <- enc2native("\u00fa\u00e1\u00f6\u0151\u00e9")
dir.create(root)
setwd(root)
dir.create("dir1")
dir.create("dir2")
cat("file1", file = "dir1/file1")
cat("file2", file = "dir2/file2")
zip::zip("zip1.zip", c("dir1", "dir2"), mode = "mirror")
l <- zip_list("zip1.zip")
expect_equal(l$filename, c("dir1/", "dir1/file1", "dir2/", "dir2/file2"))
dir.create("ex1")
zip::unzip("zip1.zip", exdir = "ex1")
expect_equal(
sort(dir("ex1", recursive = TRUE)),
c("dir1/file1", "dir2/file2")
)
zip::zip("zip2.zip", c("dir1", "dir2/file2"), mode = "cherry-pick")
l2 <- zip_list("zip2.zip")
expect_equal(l2$filename, c("dir1/", "dir1/file1", "file2"))
dir.create("ex2")
zip::unzip("zip2.zip", exdir = "ex2")
expect_equal(
sort(dir("ex2", recursive = TRUE)),
c("dir1/file1", "file2")
)
})
test_that("uncompressed path with non-ASCII characters", {
if (tolower(Sys.info()[["sysname"]]) != "windows") {
skip("Only on Windows")
}
local_temp_dir()
root <- enc2native("\u00fa\u00e1\u00f6\u0151\u00e9")
ufile <- enc2native("ufile\u00fa\u00e1")
dir.create(root)
cat("contents\n", file = file.path(root, ufile))
zip("zip1.zip", root, mode = "mirror")
l <- zip_list("zip1.zip")
expect_equal(
l$filename,
c(paste0(root, "/"), file.path(root, ufile, fsep = "/"))
)
expect_equal(Encoding(l$filename), rep("UTF-8", 2))
dir.create("ex1")
zip::unzip("zip1.zip", exdir = "ex1")
expect_equal(
sort(dir("ex1", recursive = TRUE)),
file.path(root, ufile, fsep = "/")
)
zip("zip2.zip", root, mode = "cherry-pick")
l2 <- zip_list("zip2.zip")
dir.create("ex2")
zip::unzip("zip2.zip", exdir = "ex2")
expect_equal(
l2$filename,
c(paste0(root, "/"), file.path(root, ufile, fsep = "/"))
)
})
test_that("zip file with spaces", {
local_temp_dir()
dir.create("dir1")
dir.create("dir 2")
cat("file1", file = "dir1/file 1")
cat("file2", file = "dir 2/file2")
zip::zip("zip1.zip", c("dir1", "dir 2"), mode = "mirror")
l <- zip_list("zip1.zip")
expect_equal(l$filename, c("dir1/", "dir1/file 1", "dir 2/", "dir 2/file2"))
dir.create("ex1")
zip::unzip("zip1.zip", exdir = "ex1")
expect_equal(
sort(dir("ex1", recursive = TRUE)),
sort(c("dir1/file 1", "dir 2/file2"))
)
zip::zip("zip2.zip", c("dir1", "dir 2/file2"), mode = "cherry-pick")
l2 <- zip_list("zip2.zip")
expect_equal(l2$filename, c("dir1/", "dir1/file 1", "file2"))
dir.create("ex2")
zip::unzip("zip2.zip", exdir = "ex2")
expect_equal(
sort(dir("ex2", recursive = TRUE)),
c("dir1/file 1", "file2")
)
})
test_that("zip file with non-ASCII characters", {
skip_on_cran()
local_temp_dir()
zipfile <- enc2native("x-\u00fa\u00e1\u00f6\u0151\u00e9.zip")
dir.create("dir1")
dir.create("dir2")
cat("file1", file = "dir1/file1")
cat("file2", file = "dir2/file2")
zip::zip(zipfile, c("dir1", "dir2"), mode = "mirror")
l <- zip_list(zipfile)
expect_equal(l$filename, c("dir1/", "dir1/file1", "dir2/", "dir2/file2"))
dir.create("ex1")
zip::unzip(zipfile, exdir = "ex1")
expect_equal(
sort(dir("ex1", recursive = TRUE)),
c("dir1/file1", "dir2/file2")
)
unlink(zipfile)
# ----------------------------------------------------------------
zip::zip(zipfile, c("dir1", "dir2/file2"), mode = "cherry-pick")
l2 <- zip_list(zipfile)
expect_equal(l2$filename, c("dir1/", "dir1/file1", "file2"))
dir.create("ex2")
zip::unzip(zipfile, exdir = "ex2")
expect_equal(
sort(dir("ex2", recursive = TRUE)),
c("dir1/file1", "file2")
)
unlink(zipfile)
# ----------------------------------------------------------------
p <- zip::zip_process()$new(zipfile, c("dir1", "dir2"))
p$wait(5000)
p$kill()
expect_equal(p$get_exit_status(), 0L)
l <- zip_list(zipfile)
expect_equal(l$filename, c("dir1/", "dir1/file1", "dir2/", "dir2/file2"))
p2 <- zip::unzip_process()$new(zipfile, "ex3")
p2$wait(5000)
p2$kill()
expect_equal(p2$get_exit_status(), 0L)
expect_equal(
sort(dir("ex3", recursive = TRUE)),
c("dir1/file1", "dir2/file2")
)
})
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.