library(testthat)
library(knitr)

dt <- mtcars[1:5, 1:8]


# ---- styling -----------------------------------------------------------------
testthat::context("styling")

test_that("dry_run", {
  observed <- dt[1:3] %>%
    kable(format = "latex", booktabs = T, caption = "xxx") %>%
    kable_styling(latex_options = c("striped", "hold_position"), font_size = 6, position = "float_left")
  # dput(observed)

  expected <- structure("\\rowcolors{2}{gray!6}{white}\n\\begin{wraptable}{l}{6.6cm}\n\n\\caption{\\label{tab:}xxx}\n\\centering\n\\fontsize{6}{8}\\selectfont\n\\begin{tabular}[t]{lrrr}\n\\hiderowcolors\n\\toprule\n  & mpg & cyl & disp\\\\\n\\midrule\n\\showrowcolors\nMazda RX4 & 21.0 & 6 & 160\\\\\nMazda RX4 Wag & 21.0 & 6 & 160\\\\\nDatsun 710 & 22.8 & 4 & 108\\\\\nHornet 4 Drive & 21.4 & 6 & 258\\\\\nHornet Sportabout & 18.7 & 8 & 360\\\\\n\\bottomrule\n\\end{tabular}\n\\end{wraptable}\n\\rowcolors{2}{white}{white}", format = "latex", class = "knitr_kable", kable_meta = structure(list(
    tabular = "tabular", booktabs = TRUE, align = "lrrr", valign = "[t]",
    ncol = 4L, nrow = 6, colnames = c(" ", "mpg", "cyl", "disp"
    ), rownames = c("", "Mazda", "Mazda", "Datsun", "Hornet",
                    "Hornet"), caption = "\\label{tab:}x",
    contents = c("  & mpg & cyl & disp",
                 "Mazda RX4 & 21.0 & 6 & 160", "Mazda RX4 Wag & 21.0 & 6 & 160",
                 "Datsun 710 & 22.8 & 4 & 108", "Hornet 4 Drive & 21.4 & 6 & 258",
                 "Hornet Sportabout & 18.7 & 8 & 360"), centering = TRUE,
    table_env = TRUE, align_vector = c("l", "r", "r", "r"),
    align_vector_origin = c("l", "r", "r", "r"),
    valign2 = "\\[t\\]", valign3 = "t",
    begin_tabular = "\\\\begin\\{tabular\\}\\[t\\]",
    end_tabular = "\\\\end\\{tabular\\}"),
    .Names = c("tabular",
               "booktabs", "align", "valign", "ncol", "nrow", "colnames", "rownames",
               "caption", "contents", "centering", "table_env", "align_vector",
               "align_vector_origin", "valign2", "valign3", "begin_tabular",
               "end_tabular")))

  expect_equal(observed, expected)
})
