test_that("simple hashes with no ALTREP and no attributes are reproducible", {
skip_if_big_endian()
expect_identical(hash(1), "a3f7d4a39b65b170005aafbbeed05106")
expect_identical(hash("a"), "4d52a7da68952b85f039e85a90f9bbd2")
expect_identical(hash(1:5 + 0L), "0d26bf75943b8e13c080c6bab12a7440")
})
test_that("hash_file() errors if the file doesn't exist", {
expect_error(hash_file("foo.ext"))
})
test_that("hash_file() works for 0 length input", {
expect_identical(hash_file(character()), character())
})
test_that("hash_file() has known fixed value for empty files", {
skip_if_big_endian()
path <- withr::local_tempfile()
file.create(path)
expect_identical(hash_file(path), "99aa06d3014798d86001c324468d497f")
})
test_that("hash_file() results change as more data is written to the file", {
path <- withr::local_tempfile()
file.create(path)
initial <- hash_file(path)
saveRDS(1, path)
expect_true(hash_file(path) != initial)
})
test_that("hash_file()'s internal state is reset between files", {
path1 <- withr::local_tempfile()
file.create(path1)
saveRDS(1, path1)
path2 <- withr::local_tempfile()
file.create(path2)
saveRDS(2, path2)
hashes <- hash_file(c(path1, path2))
expect_identical(hashes[[1]], hash_file(path1))
expect_identical(hashes[[2]], hash_file(path2))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.