acontext("facet-trivial") miris <- iris miris$kingdom <- "plantae" gg <- ggplot()+ geom_point(aes(Petal.Length, Petal.Width), data=miris) viz <- list(kk=gg+facet_grid(kingdom ~ kingdom), kx=gg+facet_grid(kingdom ~ .), xk=gg+facet_grid(. ~ kingdom), kS=gg+facet_grid(kingdom ~ Species), Sk=gg+facet_grid(Species ~ kingdom)) test_that("facet_grid(1 row and/or 1 column) is fine", { info <- animint2HTML(viz) expect_axes <- function(plot.name, expected.x, expected.y){ svg.xpath <- sprintf("//svg[@id='plot_%s']", plot.name) x.xpath <- paste0(svg.xpath, "//g[contains(@class, 'xaxis')]") x.axes <- getNodeSet(info$html, x.xpath) expect_equal(length(x.axes), expected.x) y.xpath <- paste0(svg.xpath, "//g[contains(@class, 'yaxis')]") y.axes <- getNodeSet(info$html, y.xpath) expect_equal(length(y.axes), expected.y) xtitle.xpath <- paste0(svg.xpath, "//text[@class='xtitle']") xtitle.nodes <- getNodeSet(info$html, xtitle.xpath) expect_equal(length(xtitle.nodes), 1) xtitle.node <- xtitle.nodes[[1]] xtitle.attrs <- xmlAttrs(xtitle.node) trans.mat <- str_match_perl(xtitle.attrs[["transform"]], translatePattern) trans.y <- as.numeric(trans.mat[, "y"]) ## 400 is the default animint plot height. expect_lt(trans.y, 400) } expect_axes("kk", 1, 1) expect_axes("kx", 1, 1) expect_axes("xk", 1, 1) expect_axes("kS", 3, 1) expect_axes("Sk", 1, 3) })