Nothing
test_that("llama_hf_cache_dir returns a valid path", {
d <- llama_hf_cache_dir()
expect_type(d, "character")
expect_true(nzchar(d))
expect_true(dir.exists(d))
})
test_that(".hf_format_size formats correctly", {
expect_equal(llamaR:::.hf_format_size(0), "0 B")
expect_equal(llamaR:::.hf_format_size(1024), "1 KB")
expect_equal(llamaR:::.hf_format_size(NA), "unknown")
expect_match(llamaR:::.hf_format_size(1.5e9), "GB")
})
test_that(".hf_parse_quant extracts quantization", {
expect_equal(llamaR:::.hf_parse_quant("model-q4_k_m.gguf"), "Q4_K_M")
expect_equal(llamaR:::.hf_parse_quant("model-Q5_K_S.gguf"), "Q5_K_S")
expect_true(is.na(llamaR:::.hf_parse_quant("model.gguf")))
})
test_that(".glob_to_regex converts patterns correctly", {
rx <- llamaR:::.glob_to_regex("*q4_k_m*")
expect_true(grepl(rx, "model-q4_k_m.gguf", ignore.case = TRUE))
expect_false(grepl(rx, "model-q5_k_s.gguf", ignore.case = TRUE))
})
test_that(".validate_gguf rejects non-GGUF files", {
tmp <- tempfile()
on.exit(unlink(tmp))
writeBin(charToRaw("NOT_GGUF"), tmp)
expect_error(llamaR:::.validate_gguf(tmp), "not a valid GGUF")
})
test_that(".validate_gguf accepts GGUF magic", {
tmp <- tempfile()
on.exit(unlink(tmp))
writeBin(as.raw(c(0x47, 0x47, 0x55, 0x46, 0x00, 0x00, 0x00, 0x00)), tmp)
expect_true(llamaR:::.validate_gguf(tmp))
})
test_that("llama_hf_download requires exactly one selector", {
expect_error(
llama_hf_download("org/repo"),
"Specify exactly one"
)
expect_error(
llama_hf_download("org/repo", filename = "a.gguf", pattern = "*q4*"),
"Specify exactly one"
)
})
test_that("llama_hf_cache_info returns data.frame", {
info <- llama_hf_cache_info()
expect_s3_class(info, "data.frame")
expect_true(all(c("repo_id", "filename", "size", "path") %in% names(info)))
})
test_that("llama_hf_cache_clear handles empty cache", {
tmp_dir <- tempfile("cache_test")
dir.create(tmp_dir, recursive = TRUE)
on.exit(unlink(tmp_dir, recursive = TRUE))
expect_message(
llama_hf_cache_clear(confirm = FALSE, cache_dir = tmp_dir),
"empty"
)
})
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.