test_that("test update_border_first when attr(tbl, 'rtf_colheader') is not NULL", { tbl <- iris[1:2, ] |> rtf_page(border_color_first = "red") |> rtf_body() |> update_border_first() expect_equal(attributes(attr(tbl, "rtf_colheader")[[1]])$border_top, matrix("double", nrow = 1, ncol = 5)) expect_equal(attributes(attr(tbl, "rtf_colheader")[[1]])$border_color_top, matrix("red", nrow = 1, ncol = 5)) }) test_that("test update_border_first when attr(tbl, 'rtf_colheader') is NULL", { tbl <- iris[c(1:2, 51:52), ] |> rtf_page(border_color_first = "red") |> rtf_body( page_by = "Species", new_page = TRUE ) attr(tbl, "rtf_colheader") <- NULL tbl <- update_border_first(tbl) expect_equal(attributes(tbl)$border_first[1, ], c(rep("double", 5))) expect_equal(attributes(tbl)$border_color_first[1, ], rep("red", 5)) expect_equal(attributes(attr(tbl, "rtf_pageby_table"))$border_first[1, ], c(rep("double", 4))) expect_equal(attributes(attr(tbl, "rtf_pageby_table"))$border_color_first[1, ], rep("red", 4)) }) test_that("test update_border_last when 'footnote' as_table", { tbl <- iris[1:2, ] |> rtf_page( border_color_first = "red", border_color_last = "red" ) |> rtf_body() |> rtf_footnote("footnote", as_table = TRUE ) tbl <- update_border_last(tbl) expect_equal(attributes(attr(tbl, "rtf_footnote"))$border_bottom, "double") expect_equal(attributes(attr(tbl, "rtf_footnote"))$border_color_bottom, "red") }) test_that("test update_border_last when 'source' as_table", { tbl <- iris[1:2, ] |> rtf_page( border_color_first = "red", border_color_last = "red" ) |> rtf_body() |> rtf_source("source", as_table = TRUE ) tbl <- update_border_last(tbl) expect_equal(attributes(attr(tbl, "rtf_source"))$border_bottom, "double") expect_equal(attributes(attr(tbl, "rtf_source"))$border_color_bottom, "red") }) test_that("test update_border_last when body as last", { tbl <- iris[c(1:2, 51:52), ] |> rtf_page( border_color_first = "red", border_color_last = "red" ) |> rtf_body( page_by = "Species", new_page = TRUE ) tbl <- update_border_last(tbl) expect_equal(attributes(tbl)$border_last[nrow(tbl), ], c(rep("double", 5))) expect_equal(attributes(tbl)$border_color_last[nrow(tbl), ], rep("red", 5)) expect_equal(attributes(attr(tbl, "rtf_pageby_table"))$border_last[nrow(attr(tbl, "rtf_pageby_table")), ], c(rep("double", 4))) expect_equal(attributes(attr(tbl, "rtf_pageby_table"))$border_color_last[nrow(attr(tbl, "rtf_pageby_table")), ], rep("red", 4)) })