context("check footers") library(xml2) library(officer) test_that("add_footer", { data_ref <- structure( list( Sepal.Length = c("Sepal", "s", "(cm)"), Sepal.Width = c("Sepal", "", "(cm)"), Petal.Length = c("Petal", "", "(cm)"), Petal.Width = c("Petal", "", "(cm)"), Species = c("Species", "", "(cm)") ), .Names = c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species"), row.names = c(NA, -3L), class = "data.frame" ) ft <- flextable(iris[1:6, ]) ft <- add_footer( ft, Sepal.Length = "Sepal", Sepal.Width = "Sepal", Petal.Length = "Petal", Petal.Width = "Petal", Species = "Species" ) ft <- add_footer(ft, Sepal.Length = "s", top = FALSE) ft <- add_footer( ft, Sepal.Length = "(cm)", Sepal.Width = "(cm)", Petal.Length = "(cm)", Petal.Width = "(cm)", Species = "(cm)", top = FALSE ) has_ <- flextable:::fortify_content( ft$footer$content, default_chunk_fmt = ft$footer$styles$text )$txt expect_equal(has_, as.character(unlist(data_ref))) ft <- flextable(iris[1:6, ]) ft <- add_footer_row( ft, values = c("Sepal", "Petal", "Species"), colwidths = c(2, 2, 1) ) ft <- add_footer_lines(ft, "s", top = FALSE) ft <- add_footer_row(ft, values = "(cm)", colwidths = 5, top = FALSE) has_ <- flextable:::fortify_content( ft$footer$content, default_chunk_fmt = ft$footer$styles$text )$txt ref <- c( "Sepal", "s", "(cm)", "Sepal", "s", "(cm)", "Petal", "s", "(cm)", "Petal", "s", "(cm)", "Species", "s", "(cm)" ) expect_equal(has_, ref) })