gg <- ggplot(mtcars, aes(factor(cyl), mpg)) + geom_violin() test_that("basic geom_violin works", { L <- expect_doppelganger_built(gg, "violin") expect_equivalent(length(L$data), 1) tr <- L$data[[1]] expect_identical(tr$type, "scatter") expect_true(tr$fill == "toself") expect_false(tr$showlegend) expect_true(all(grepl("density", tr$text[!is.na(tr$text)]))) expect_true(tr$hoverinfo == "text") }) gg2 <- ggplot(mtcars, aes(factor(cyl), mpg, fill = factor(cyl))) + geom_violin() test_that("geom_violin with fill aes works", { L <- expect_doppelganger_built(gg2, "violin-aes") expect_equivalent(length(L$data), 3) expect_true(L$layout$showlegend) expect_equivalent(sum(unlist(lapply(L$data, "[[", "showlegend"))), 3) })