test_that("gt_plt_bar_pct HTML is created and has specific values", { check_suggests() gt_bar_plot_tab <- mtcars %>% head() %>% dplyr::select(cyl, mpg) %>% dplyr::mutate( mpg_pct_max = round(mpg / max(mpg) * 100, digits = 2), mpg_scaled = mpg / max(mpg) * 100 ) %>% dplyr::mutate(mpg_unscaled = mpg) %>% gt::gt() %>% gt_plt_bar_pct(column = mpg_scaled, scaled = TRUE) %>% gt_plt_bar_pct( column = mpg_unscaled, scaled = FALSE, fill = "blue", background = "lightblue" ) %>% gt::as_raw_html() %>% rvest::read_html() #jotyuenmde > table > tbody > tr:nth-child(1) > td:nth-child(4) > div > div scaled_vals <- gt_bar_plot_tab %>% rvest::html_nodes("td:nth-child(4) > div > div") %>% rvest::html_attr("style") %>% gsub(x = ., pattern = ".*width:", replacement = "") %>% substr(1, 4) unscaled_vals <- gt_bar_plot_tab %>% rvest::html_nodes("td:nth-child(5) > div > div") %>% rvest::html_attr("style") %>% gsub(x = ., pattern = ".*width:", replacement = "") %>% substr(1, 4) expect_equal(scaled_vals, c("92.1", "92.1", "100%", "93.8", "82.0", "79.3")) expect_equal(unscaled_vals, c("92.1", "92.1", "100%", "93.8", "82.0", "79.3")) })