Nothing
skip_if_not_installed("openxlsx")
test_that("Simple conversion works", {
hx <- huxtable(a = 1:3, b = 4:6)
expect_silent(wb <- as_Workbook(hx))
expect_s4_class(wb, "Workbook")
})
test_that("Text properties work", {
hx <- huxtable(a = 1:3, b = 4:6)
font(hx)[1, 1] <- "Times New Roman"
font_size(hx)[1, 2] <- 14
bold(hx)[2, 1] <- TRUE
italic(hx)[2, 2] <- TRUE
text_color(hx)[3, 1] <- "red"
number_format(hx)[3, 2] <- "%3.2f"
expect_silent(wb <- as_Workbook(hx))
})
test_that("Borders work", {
hx <- huxtable(a = 1:3, b = 4:6)
top_border(hx)[1, ] <- 1
bottom_border(hx)[1, ] <- 2
left_border(hx)[, 1] <- 1
right_border(hx)[, 2] <- 1
expect_silent(as_Workbook(hx))
})
test_that("Widths and alignment work", {
hx <- huxtable(a = 1:3, b = 4:6)
col_width(hx) <- c(.7, .3)
width(hx) <- .9
expect_silent(as_Workbook(hx))
row_height(hx) <- c(.2, .6, .2)
height(hx) <- .8
expect_silent(as_Workbook(hx))
align(hx)[1, 1] <- "right"
valign(hx)[1, 2] <- "middle"
align(hx)[2, 1] <- "centre"
expect_silent(as_Workbook(hx))
})
test_that("Non-numeric colwidths and widths do not fail", {
hx <- huxtable(a = 1:3, b = 4:6)
col_width(hx) <- c(.7, .3)
width(hx) <- "200px"
expect_silent(as_Workbook(hx))
col_width(hx) <- c("50px", "150px")
expect_silent(as_Workbook(hx))
})
test_that("Captions work", {
hx <- huxtable(a = 1:3, b = 4:6)
caption(hx) <- "Caption here"
for (pos in c("top", "topleft", "topcentre", "topright", "bottom", "bottomleft", "bottomcentre", "bottomright")) {
caption_pos(hx) <- pos
expect_silent(as_Workbook(hx))
}
})
test_that("Can add to an existing workbook", {
hx <- huxtable(a = 1:3, b = 4:6)
wb <- openxlsx::createWorkbook()
expect_silent(wb <- as_Workbook(hx, Workbook = wb))
expect_silent(as_Workbook(hx, Workbook = wb, sheet = "Another sheet"))
})
test_that("Can write with offset rows and columns", {
hx <- huxtable(a = 1:3, b = 4:6)
expect_silent(wb <- as_Workbook(hx, start_col = 3, start_row = 2))
})
test_that("Works for single-column huxtables with and without row names", {
hx <- huxtable(1, 2, 3)
wb <- openxlsx::createWorkbook()
expect_silent(wb <- as_Workbook(hx, Workbook = wb))
hx <- huxtable(a = 1, b = 2, c = 3)
wb <- openxlsx::createWorkbook()
expect_silent(wb <- as_Workbook(hx, Workbook = wb))
})
test_that("Works for zero-dimension huxtables", {
h_nrow0 <- hux(a = character(0), b = character(0), add_colnames = FALSE)
h_ncol0 <- hux(a = 1:2)[, FALSE]
expect_silent(as_Workbook(h_nrow0))
expect_silent(as_Workbook(h_ncol0))
})
test_that("Data written in appropriate format", {
hx <- huxtable(a = 1:2 + 0.5, b = -1:-2 + 0.5, d = letters[1:2], add_colnames = TRUE)
wb <- as_Workbook(hx)
expect_error(openxlsx::saveWorkbook(wb, file = "test-xlsx.xlsx", overwrite = TRUE),
regexp = NA) # openxlsx may emit messages
on.exit(
if (file.exists("test-xlsx.xlsx")) file.remove("test-xlsx.xlsx")
)
dfr <- openxlsx::read.xlsx("test-xlsx.xlsx")
expect_type(dfr[[1]], "double")
expect_type(dfr[[2]], "double")
expect_type(dfr[[3]], "character")
expect_equal(dfr[[1]], 1:2 + 0.5)
expect_equal(dfr[[2]], -1:-2 + 0.5)
expect_equal(dfr[[3]], letters[1:2])
})
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.