font_file <- system.file("fonts/spleen/spleen-8x16.hex.gz", package = "bittermelon")
font <- read_hex(font_file)
capital_r <- font[[str2ucp("R")]]
test_that("bm_trim()", {
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
capital_r_trimmed <- bm_trim(capital_r, c(1, 1, 3, 0))
expect_equal(nrow(capital_r_trimmed), 12L)
expect_equal(ncol(capital_r_trimmed), 7L)
verify_output("txt/capital_r_trimmed.txt", {
print(capital_r, px = c("-", "#"))
print(bm_trim(capital_r, c(1, 1, 3, 0)),
px = c("-", "#"))
print(bm_trim(capital_r, height = 8, vjust = "top"),
px = c("-", "#"))
print(bm_trim(bm_list(capital_r), height = 8, vjust = "top"),
px = c("-", "#"))
print(bm_trim(capital_r, height = 8, vjust = "bottom"),
px = c("-", "#"))
print(bm_trim(capital_r, width = 4, hjust = "left"),
px = c("-", "#"))
print(bm_trim(capital_r, width = 4, hjust = "right"),
px = c("-", "#"))
})
capital_r_resized <- bm_resize(capital_r, width = 10, height = 14, vjust = "top")
expect_equal(ncol(capital_r_resized), 10L)
expect_equal(nrow(capital_r_resized), 14L)
capital_r_resized2 <- bm_resize(capital_r, width = 7, height = 18, hjust = "left")
expect_equal(ncol(capital_r_resized2), 7L)
expect_equal(nrow(capital_r_resized2), 18L)
verify_output("txt/capital_r_resized.txt",
print(capital_r_resized, px = c("-", "#")))
verify_output("txt/capital_r_resized2.txt",
print(capital_r_resized2, px = c("-", "#")))
})
test_that("bm_trim.bm_pixmap()", {
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
skip_if_not(cli::is_utf8_output())
crops <- farming_crops_16x16()
corn <- crops$corn$portrait
verify_output("txt/bm_trim_pixmap.txt", {
print(corn, compress = "v")
print(bm_trim(corn, top = 8L), compress = "v")
print(bm_trim(corn, right = 8L), compress = "v")
print(bm_trim(corn, bottom = 8L), compress = "v")
print(bm_trim(corn, left = 8L), compress = "v")
}, crayon = FALSE, unicode = TRUE)
})
test_that("bm_trim.magick-image()", {
skip_if_not_installed("magick")
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
skip_if_not(cli::is_utf8_output())
crops <- farming_crops_16x16()
corn <- magick::image_read(crops$corn$portrait)
verify_output("txt/bm_trim_magick.txt", {
print(`as_bm_pixmap.magick-image`(corn), compress = "v")
corn_t <- bm_trim(corn, top = 8L)
print(inherits(corn_t, "magick-image"))
print(`as_bm_pixmap.magick-image`(corn_t), compress = "v")
corn_r <- bm_trim(corn, right = 8L)
print(`as_bm_pixmap.magick-image`(corn_r), compress = "v")
corn_b <- bm_trim(corn, bottom = 8L)
print(`as_bm_pixmap.magick-image`(corn_b), compress = "v")
corn_l <- bm_trim(corn, left = 8L)
print(`as_bm_pixmap.magick-image`(corn_l), compress = "v")
}, crayon = FALSE, unicode = TRUE)
})
test_that("bm_trim.nativeRaster()", {
skip_if_not_installed("farver")
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
skip_if_not(cli::is_utf8_output())
crops <- farming_crops_16x16()
corn <- as.raster(crops$corn$portrait, native = TRUE)
verify_output("txt/bm_trim_nativeRaster.txt", {
bm_print(corn, compress = "v")
corn_t <- bm_trim(corn, top = 8L)
print(inherits(corn_t, "nativeRaster"))
bm_print(corn_t, compress = "v")
corn_r <- bm_trim(corn, right = 8L)
bm_print(corn_r, compress = "v")
corn_b <- bm_trim(corn, bottom = 8L)
bm_print(corn_b, compress = "v")
corn_l <- bm_trim(corn, left = 8L)
bm_print(corn_l, compress = "v")
}, crayon = FALSE, unicode = TRUE)
})
test_that("bm_trim.raster()", {
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
skip_if_not(cli::is_utf8_output())
crops <- farming_crops_16x16()
corn <- as.raster(crops$corn$portrait)
verify_output("txt/bm_trim_raster.txt", {
bm_print(corn, compress = "v")
corn_t <- bm_trim(corn, top = 8L)
print(inherits(corn_t, "raster"))
bm_print(corn_t, compress = "v")
corn_r <- bm_trim(corn, right = 8L)
bm_print(corn_r, compress = "v")
corn_b <- bm_trim(corn, bottom = 8L)
bm_print(corn_b, compress = "v")
corn_l <- bm_trim(corn, left = 8L)
bm_print(corn_l, compress = "v")
}, crayon = FALSE, unicode = TRUE)
})
test_that("bm_shift()", {
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
capital_r_shifted <- bm_shift(capital_r, bottom = 2L)
verify_output("txt/capital_r_shifted.txt",
print(capital_r_shifted, px = c("-", "#")))
expect_equal(nrow(capital_r_shifted), 16L)
expect_equal(ncol(capital_r_shifted), 8L)
})
test_that("bm_shadow", {
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
verify_output("txt/capital_r_shadow.txt",
print(bm_shadow(capital_r), px = px_ascii))
verify_output("txt/capital_r_bold.txt",
print(bm_bold(capital_r), px = px_ascii))
verify_output("txt/capital_r_glow.txt",
print(bm_glow(capital_r), px = px_ascii))
verify_output("txt/capital_r_glow_corner.txt",
print(bm_glow(capital_r, corner = TRUE), px = px_ascii))
})
test_that("bm_rotate()", {
skip_if_not_installed("withr")
withr::local_options(bm_options(default = TRUE))
verify_output("txt/capital_r_rotated90.txt",
print(bm_rotate(capital_r, 90), px = px_ascii))
verify_output("txt/capital_r_rotated180.txt",
print(bm_rotate(capital_r, 180), px = px_ascii))
verify_output("txt/capital_r_rotated270.txt",
print(bm_rotate(capital_r, 270), px = px_ascii))
verify_output("txt/capital_r_rotatedm90.txt",
print(bm_rotate(capital_r, 90, clockwise = FALSE), px = px_ascii))
})
test_that("c()", {
stats <- as_bm_list("STATS", font = font)
expect_equal(c(capital_r), bm_list(capital_r))
expect_equal(stats, c(stats))
expect_equal(font, c(font))
bbb <- c(capital_r, capital_r, capital_r)
expect_false(is_bm_font(bbb))
expect_true(is_bm_list(bbb))
expect_length(bbb, 3L)
bl <- c(capital_r, stats)
expect_false(is_bm_font(bl))
expect_true(is_bm_list(bl))
expect_length(bl, 6L)
bf <- c(`U+E000` = capital_r, font)
expect_true(is_bm_font(bf))
expect_length(bf, 838L)
fbb <- c(font, `U+E000` = capital_r, `U+E001` = capital_r)
expect_true(is_bm_font(fbb))
expect_length(fbb, 839L)
ff <- c(font, font)
expect_true(is_bm_font(ff))
expect_length(ff, 837L)
fl <- c(font, stats)
expect_true(is_bm_font(fl))
expect_length(fl, 837L)
lbb <- c(stats, capital_r, capital_r)
expect_false(is_bm_font(lbb))
expect_true(is_bm_list(lbb))
expect_length(lbb, 7L)
ll <- c(stats, stats)
expect_false(is_bm_font(ll))
expect_true(is_bm_list(ll))
expect_length(ll, 10L)
lf <- c(stats, font)
expect_true(is_bm_font(lf))
expect_length(lf, 837L)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.