Nothing
library(testthat)
library(XML)
test_that("Check that dimensions are correct with cgroup usage",{
mx <- matrix(1:6, ncol = 3)
colnames(mx) <- sprintf("Col %s", LETTERS[1:NCOL(mx)])
table_str <- htmlTable(mx,
cgroup = c("a", "b"),
n.cgroup=c(1, 2))
parsed_table <- readHTMLTable(as.character(table_str))[[1]]
expect_equal(ncol(parsed_table), ncol(mx) + 1,
info = "Cols did not match")
expect_equal(nrow(parsed_table),
nrow(mx), info="Rows did not match")
expect_warning(htmlTable(mx,
cgroup=c("a", "b", "c"),
n.cgroup=c(1, 2, 0)))
expect_error(htmlTable(mx,
cgroup=c("a", "b", "c"),
n.cgroup=c(1, 2, 10)))
table_str <- htmlTable(mx,
cgroup=rbind(c("aa", NA),
c("a", "b")),
n.cgroup=rbind(c(2, NA),
c(1, 2)))
parsed_table <- readHTMLTable(as.character(table_str))[[1]]
expect_equal(ncol(parsed_table), ncol(mx) + 1,
info="Cols did not match for multilevel cgroup")
table_str <- htmlTable(mx,
cgroup=rbind(c("aa", "bb"),
c("a", "b")),
n.cgroup=rbind(c(2, 1),
c(1, 2)))
parsed_table <- readHTMLTable(as.character(table_str))[[1]]
expect_equal(ncol(parsed_table), ncol(mx) + 2,
info="Cols did not match for multilevel cgroup")
table_str <- htmlTable(mx,
cgroup=c("a", "b"),
n.cgroup=c(2, 1),
tspanner=c("First spanner",
"Secon spanner"),
n.tspanner=c(1,1))
expect_match(table_str, "td[^>]*colspan='4'[^>]*>First spanner",
info="The expected number of columns should be 4")
expect_match(table_str, "td[^>]*colspan='4'[^>]*>Secon spanner",
info="The expected number of columns should be 4")
expect_error(htmlTable(mx,
cgroup=c("a", "b"),
n.cgroup=c(2, 1),
tspanner=c("First spanner",
"Secon spanner"),
n.tspanner=c(1,2)))
mx <- rbind(mx,
mx,
mx,
mx)
table_str <- htmlTable(mx,
rnames = LETTERS[1:nrow(mx)],
cgroup=rbind(c("aa", "bb"),
c("a", "b")),
n.cgroup=rbind(c(2, 1),
c(1, 2)),
rgroup=paste(1:4, "rgroup"),
n.rgroup=rep(2, 4),
tspanner=c("First tspanner",
"Second tspanner"),
n.tspanner=c(4,4))
expect_match(table_str, "td[^>]*colspan='6'[^>]*>1 rgroup",
info="The expected number of columns should be 6")
expect_match(table_str, "td[^>]*colspan='6'[^>]*>2 rgroup",
info="The expected number of columns should be 6")
parsed_table <- readHTMLTable(as.character(table_str))[[1]]
expect_equal(as.character(parsed_table[1,1]),
"First tspanner")
expect_equal(as.character(parsed_table[2,1]),
"1 rgroup")
expect_equal(as.character(parsed_table[8,1]),
"Second tspanner")
expect_equal(as.character(parsed_table[9,1]),
"3 rgroup")
})
test_that("Flexible number of cgroups",{
mx <- matrix(1:6, ncol=3)
colnames(mx) <- sprintf("Col %s", LETTERS[1:NCOL(mx)])
expect_error(htmlTable(mx,
cgroup = c("", "__test__"),
n.cgroup = 1:3))
expect_error(htmlTable(mx,
cgroup = c("", "__test__", ""),
n.cgroup = 1))
out <- htmlTable(mx,
cgroup = c("", "__test__"),
n.cgroup = 1)
expect_match(out,
"colspan='2'[^>]*>__test__<")
})
test_that("Assume last element for n.cgroup",{
mx <- matrix(1:6, ncol=3)
colnames(mx) <- sprintf("Col %s", LETTERS[1:NCOL(mx)])
out <- htmlTable(mx,
cgroup = "__test__")
expect_match(out,
"colspan='3'[^>]*>__test__<")
})
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.