Running ‘testthat.R’ [26s/32s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(ggplot2)
  Registered S3 methods overwritten by 'ggplot2':
    method         from 
    [.quosures     rlang
    c.quosures     rlang
    print.quosures rlang
  > 
  > test_check("ggplot2")
  ── 1. Failure: legend filters out aesthetics not of length 1 (@test-aes-setting.
  `ggplot_gtable(ggplot_build(p))` threw an error.
  Message: VECTOR_ELT() can only be applied to a 'list', not a 'double'
  Class:   simpleError/error/condition
  
  ── 2. Error: no warnings are generated when original data has Inf values, but no
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_silent(benchplot(p)) at testthat/test-coord-transform.R:21
  2: quasi_capture(enquo(object), evaluate_promise)
  3: capture(act$val <- eval_bare(get_expr(quo), get_env(quo)))
  4: withr::with_output_sink(temp, withCallingHandlers(withVisible(code), warning = handle_warning, 
         message = handle_message))
  5: force(code)
  6: withCallingHandlers(withVisible(code), warning = handle_warning, message = handle_message)
  7: withVisible(code)
  8: eval_bare(get_expr(quo), get_env(quo))
  9: benchplot(p)
  10: system.time(grid.draw(grob))
  ...
  15: preDraw(x)
  16: preDraw.gTree(x)
  17: pushvpgp(x)
  18: pushgrobvp(x$vp)
  19: pushgrobvp.viewport(x$vp)
  20: pushViewport(vp, recording = FALSE)
  21: lapply(vps, push.vp, recording)
  22: FUN(X[[i]], ...)
  23: push.vp.viewport(X[[i]], ...)
  24: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ── 3. Error: facet_wrap() builds correct output (@test-facet-strips.r#31)  ─────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(wrap), wrap_expected) at testthat/test-facet-strips.r:31
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(wrap)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(structure(labels_df, type = "rows"), structure(labels_df, type = "cols"), 
         params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 4. Error: facet_wrap() switches to 'bottom' (@test-facet-strips.r#44)  ──────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(wrap_b), wrap_b_expected) at testthat/test-facet-strips.r:44
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(wrap_b)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(structure(labels_df, type = "rows"), structure(labels_df, type = "cols"), 
         params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 5. Error: facet_wrap() switches to 'left' (@test-facet-strips.r#57)  ────────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(wrap_l), wrap_l_expected) at testthat/test-facet-strips.r:57
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(wrap_l)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(structure(labels_df, type = "rows"), structure(labels_df, type = "cols"), 
         params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 6. Error: facet_wrap() switches to 'right' (@test-facet-strips.r#70)  ───────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(wrap_r), wrap_r_expected) at testthat/test-facet-strips.r:70
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(wrap_r)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(structure(labels_df, type = "rows"), structure(labels_df, type = "cols"), 
         params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 7. Error: facet_grid() builds correct output (@test-facet-strips.r#83)  ─────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(grid), grid_expected) at testthat/test-facet-strips.r:83
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(grid)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(col_vars, row_vars, params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 8. Error: facet_grid() switches to 'x' (@test-facet-strips.r#96)  ───────────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(grid_x), grid_x_expected) at testthat/test-facet-strips.r:96
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(grid_x)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(col_vars, row_vars, params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 9. Error: facet_grid() switches to 'y' (@test-facet-strips.r#109)  ──────────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(grid_y), grid_y_expected) at testthat/test-facet-strips.r:109
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(grid_y)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(col_vars, row_vars, params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 10. Error: facet_grid() switches to both 'x' and 'y' (@test-facet-strips.r#12
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(strip_layout(grid_xy), grid_xy_expected) at testthat/test-facet-strips.r:122
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: strip_layout(grid_xy)
  5: layout$render(geom_grobs, data, theme, plot$labels) at testthat/test-facet-strips.r:12
  6: f(..., self = self)
  7: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  8: f(...)
  9: render_strips(col_vars, row_vars, params$labeller, theme)
  10: build_strip(x, labeller, theme, TRUE)
  11: ggstrip(grobs, theme, element, gp, horizontal, clip = "on")
  12: Summary.unit(structure(c(4.4, 4.4), unit = 8L, class = c("margin", "unit")), na.rm = FALSE)
  
  ── 11. Error: strips can be removed (@test-facet-strips.r#131)  ────────────────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: ggplotGrob(g) at testthat/test-facet-strips.r:131
  2: ggplot_gtable(ggplot_build(x))
  3: ggplot_gtable.ggplot_built(ggplot_build(x))
  4: layout$render(geom_grobs, data, theme, plot$labels)
  5: f(..., self = self)
  6: self$facet$draw_panels(panels, self$layout, self$panel_scales_x, self$panel_scales_y, 
         self$panel_params, self$coord, data, theme, self$facet_params)
  7: f(...)
  8: unit(apply(axis_mat_x_bottom, 1, max_height), "cm")
  9: apply(axis_mat_x_bottom, 1, max_height)
  10: FUN(newX[, i], ...)
  ...
  20: pushvpgp(x)
  21: pushgrobvp(x$vp)
  22: pushgrobvp.viewport(x$vp)
  23: pushViewport(vp, recording = FALSE)
  24: lapply(vps, push.vp, recording)
  25: FUN(X[[i]], ...)
  26: push.vp.vpTree(X[[i]], ...)
  27: push.vp(vp$parent, recording)
  28: push.vp.viewport(vp$parent, recording)
  29: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ── 12. Error: ggsave creates file (@test-ggsave.R#10)  ─────────────────────────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: ggsave(path, p, device = "pdf", width = 5, height = 5) at testthat/test-ggsave.R:10
  2: grid.draw(plot)
  3: grid.draw.ggplot(plot)
  4: print(x)
  5: print.ggplot(x)
  6: grid.draw(gtable)
  7: grid.draw.gTree(gtable)
  8: recordGraphics(drawGTree(x), list(x = x), getNamespace("grid"))
  9: drawGTree(x)
  10: preDraw(x)
  11: preDraw.gTree(x)
  12: pushvpgp(x)
  13: pushgrobvp(x$vp)
  14: pushgrobvp.viewport(x$vp)
  15: pushViewport(vp, recording = FALSE)
  16: lapply(vps, push.vp, recording)
  17: FUN(X[[i]], ...)
  18: push.vp.viewport(X[[i]], ...)
  19: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ── 13. Error: ggsave restores previous graphics device (@test-ggsave.R#26)  ────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: ggsave(path, p, device = "png", width = 5, height = 5) at testthat/test-ggsave.R:26
  2: grid.draw(plot)
  3: grid.draw.ggplot(plot)
  4: print(x)
  5: print.ggplot(x)
  6: grid.draw(gtable)
  7: grid.draw.gTree(gtable)
  8: recordGraphics(drawGTree(x), list(x = x), getNamespace("grid"))
  9: drawGTree(x)
  10: preDraw(x)
  11: preDraw.gTree(x)
  12: pushvpgp(x)
  13: pushgrobvp(x$vp)
  14: pushgrobvp.viewport(x$vp)
  15: pushViewport(vp, recording = FALSE)
  16: lapply(vps, push.vp, recording)
  17: FUN(X[[i]], ...)
  18: push.vp.viewport(X[[i]], ...)
  19: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ── 14. Error: Colorbar respects show.legend in layer (@test-guides.R#18)  ──────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_true("guide-box" %in% ggplotGrob(p)$layout$name) at testthat/test-guides.R:18
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: "guide-box" %in% ggplotGrob(p)$layout$name
  5: ggplotGrob(p)
  6: ggplot_gtable(ggplot_build(x))
  7: ggplot_gtable.ggplot_built(ggplot_build(x))
  8: build_guides(plot$scales, plot$layers, plot$mapping, position, theme, plot$guides, 
         plot$labels)
  9: guides_gengrob(gdefs, theme)
  10: lapply(gdefs, guide_gengrob, theme)
  ...
  19: pushvpgp(x)
  20: pushgrobvp(x$vp)
  21: pushgrobvp.viewport(x$vp)
  22: pushViewport(vp, recording = FALSE)
  23: lapply(vps, push.vp, recording)
  24: FUN(X[[i]], ...)
  25: push.vp.vpTree(X[[i]], ...)
  26: push.vp(vp$parent, recording)
  27: push.vp.viewport(vp$parent, recording)
  28: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ── 15. Error: show.legend handles named vectors (@test-guides.R#36)  ───────────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(n_legends(p), 2) at testthat/test-guides.R:36
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: n_legends(p)
  5: ggplotGrob(p) at testthat/test-guides.R:23
  6: ggplot_gtable(ggplot_build(x))
  7: ggplot_gtable.ggplot_built(ggplot_build(x))
  8: build_guides(plot$scales, plot$layers, plot$mapping, position, theme, plot$guides, 
         plot$labels)
  9: guides_gengrob(gdefs, theme)
  10: lapply(gdefs, guide_gengrob, theme)
  ...
  19: pushvpgp(x)
  20: pushgrobvp(x$vp)
  21: pushgrobvp.viewport(x$vp)
  22: pushViewport(vp, recording = FALSE)
  23: lapply(vps, push.vp, recording)
  24: FUN(X[[i]], ...)
  25: push.vp.vpTree(X[[i]], ...)
  26: push.vp(vp$parent, recording)
  27: push.vp.viewport(vp$parent, recording)
  28: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ── 16. Error: titleGrob() and margins() work correctly (@test-theme.r#244)  ────
  VECTOR_ELT() can only be applied to a 'list', not a 'double'
  1: expect_equal(height_cm(g5), height_cm(g1) + 1) at testthat/test-theme.r:244
  2: quasi_label(enquo(object), label)
  3: eval_bare(get_expr(quo), get_env(quo))
  4: height_cm(g5)
  5: convertHeight(grobHeight(x), "cm", TRUE)
  6: convertUnit(x, unitTo, "y", "dimension", "y", "dimension", valueOnly = valueOnly)
  7: grid.Call(C_convert, x, as.integer(whatfrom), as.integer(whatto), valid.units(unitTo))
  8: (function (x) 
     {
         UseMethod("preDraw")
     })(structure(list(widths = structure(list(0, list(1, structure(list(list(1, structure(list(
         label = "aaaa", x = structure(0, unit = 0L, class = c("simpleUnit", "unit")), 
         y = structure(0, unit = 0L, class = c("simpleUnit", "unit")), just = "centre", 
         hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.2024", 
         gp = structure(list(), class = "gpar"), vp = NULL), class = c("text", "grob", 
     "gDesc")), 21L), list(0, NULL, 2L)), class = "unit"), 201L), 0), class = "unit"), 
         heights = structure(list(1, list(1, structure(list(list(1, structure(list(label = "aaaa", 
             x = structure(0, unit = 0L, class = c("simpleUnit", "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", 
             "unit")), just = "centre", hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, 
             name = "GRID.text.2024", gp = structure(list(), class = "gpar"), vp = NULL), class = c("text", 
         "grob", "gDesc")), 22L), list(0.0336111111111111, NULL, 2L)), class = "unit"), 
             201L), 0), class = "unit"), name = "GRID.titleGrob.2025", gp = NULL, vp = structure(list(
             parent = structure(list(x = structure(0.5, unit = 0L, class = c("simpleUnit", 
             "unit")), y = structure(0.5, unit = 0L, class = c("simpleUnit", "unit")), 
                 width = structure(1, unit = 0L, class = c("simpleUnit", "unit")), height = structure(1, unit = 0L, class = c("simpleUnit", 
                 "unit")), justification = "centre", gp = structure(list(), class = "gpar"), 
                 clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = structure(list(
                     nrow = 3L, ncol = 3L, widths = structure(list(0, list(1, structure(list(
                       list(1, structure(list(label = "aaaa", x = structure(0, unit = 0L, class = c("simpleUnit", 
                       "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", "unit"
                       )), just = "centre", hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, 
                         name = "GRID.text.2024", gp = structure(list(), class = "gpar"), 
                         vp = NULL), class = c("text", "grob", "gDesc")), 21L), list(0, 
                         NULL, 2L)), class = "unit"), 201L), 0), class = "unit"), heights = structure(list(
                       1, list(1, structure(list(list(1, structure(list(label = "aaaa", 
                         x = structure(0, unit = 0L, class = c("simpleUnit", "unit")), 
                         y = structure(0, unit = 0L, class = c("simpleUnit", "unit")), 
                         just = "centre", hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, 
                         name = "GRID.text.2024", gp = structure(list(), class = "gpar"), 
                         vp = NULL), class = c("text", "grob", "gDesc")), 22L), list(0.0336111111111111, 
                         NULL, 2L)), class = "unit"), 201L), 0), class = "unit"), respect = FALSE, 
                     valid.respect = 0L, respect.mat = structure(c(0L, 0L, 0L, 0L, 0L, 
                     0L, 0L, 0L, 0L), .Dim = c(3L, 3L)), just = "centre", valid.just = c(0.5, 
                     0.5)), class = "layout"), layout.pos.row = NULL, layout.pos.col = NULL, 
                 valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, 
                 name = "GRID.VP.390"), class = "viewport"), children = structure(list(
                 structure(list(x = structure(0.5, unit = 0L, class = c("simpleUnit", 
                 "unit")), y = structure(0.5, unit = 0L, class = c("simpleUnit", "unit"
                 )), width = structure(1, unit = 0L, class = c("simpleUnit", "unit")), 
                     height = structure(1, unit = 0L, class = c("simpleUnit", "unit")), 
                     justification = "centre", gp = structure(list(), class = "gpar"), 
                     clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, 
                     layout.pos.row = c(2L, 2L), layout.pos.col = c(2L, 2L), valid.just = c(0.5, 
                     0.5), valid.pos.row = c(2L, 2L), valid.pos.col = c(2L, 2L), name = "GRID.VP.391"), class = "viewport")), class = c("vpList", 
             "viewport"))), class = c("vpTree", "viewport")), children = structure(list(
             GRID.text.2024 = structure(list(label = "aaaa", x = structure(0, unit = 0L, class = c("simpleUnit", 
             "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", "unit")), just = "centre", 
                 hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.2024", 
                 gp = structure(list(), class = "gpar"), vp = NULL), class = c("text", 
             "grob", "gDesc"))), class = "gList"), childrenOrder = "GRID.text.2024"), class = c("titleGrob", 
     "gTree", "grob", "gDesc")))
  9: preDraw.gTree(structure(list(widths = structure(list(0, list(1, structure(list(list(
         1, structure(list(label = "aaaa", x = structure(0, unit = 0L, class = c("simpleUnit", 
         "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", "unit")), just = "centre", 
             hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.2024", 
             gp = structure(list(), class = "gpar"), vp = NULL), class = c("text", "grob", 
         "gDesc")), 21L), list(0, NULL, 2L)), class = "unit"), 201L), 0), class = "unit"), 
         heights = structure(list(1, list(1, structure(list(list(1, structure(list(label = "aaaa", 
             x = structure(0, unit = 0L, class = c("simpleUnit", "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", 
             "unit")), just = "centre", hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, 
             name = "GRID.text.2024", gp = structure(list(), class = "gpar"), vp = NULL), class = c("text", 
         "grob", "gDesc")), 22L), list(0.0336111111111111, NULL, 2L)), class = "unit"), 
             201L), 0), class = "unit"), name = "GRID.titleGrob.2025", gp = NULL, vp = structure(list(
             parent = structure(list(x = structure(0.5, unit = 0L, class = c("simpleUnit", 
             "unit")), y = structure(0.5, unit = 0L, class = c("simpleUnit", "unit")), 
                 width = structure(1, unit = 0L, class = c("simpleUnit", "unit")), height = structure(1, unit = 0L, class = c("simpleUnit", 
                 "unit")), justification = "centre", gp = structure(list(), class = "gpar"), 
                 clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = structure(list(
                     nrow = 3L, ncol = 3L, widths = structure(list(0, list(1, structure(list(
                       list(1, structure(list(label = "aaaa", x = structure(0, unit = 0L, class = c("simpleUnit", 
                       "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", "unit"
                       )), just = "centre", hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, 
                         name = "GRID.text.2024", gp = structure(list(), class = "gpar"), 
                         vp = NULL), class = c("text", "grob", "gDesc")), 21L), list(0, 
                         NULL, 2L)), class = "unit"), 201L), 0), class = "unit"), heights = structure(list(
                       1, list(1, structure(list(list(1, structure(list(label = "aaaa", 
                         x = structure(0, unit = 0L, class = c("simpleUnit", "unit")), 
                         y = structure(0, unit = 0L, class = c("simpleUnit", "unit")), 
                         just = "centre", hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, 
                         name = "GRID.text.2024", gp = structure(list(), class = "gpar"), 
                         vp = NULL), class = c("text", "grob", "gDesc")), 22L), list(0.0336111111111111, 
                         NULL, 2L)), class = "unit"), 201L), 0), class = "unit"), respect = FALSE, 
                     valid.respect = 0L, respect.mat = structure(c(0L, 0L, 0L, 0L, 0L, 
                     0L, 0L, 0L, 0L), .Dim = c(3L, 3L)), just = "centre", valid.just = c(0.5, 
                     0.5)), class = "layout"), layout.pos.row = NULL, layout.pos.col = NULL, 
                 valid.just = c(0.5, 0.5), valid.pos.row = NULL, valid.pos.col = NULL, 
                 name = "GRID.VP.390"), class = "viewport"), children = structure(list(
                 structure(list(x = structure(0.5, unit = 0L, class = c("simpleUnit", 
                 "unit")), y = structure(0.5, unit = 0L, class = c("simpleUnit", "unit"
                 )), width = structure(1, unit = 0L, class = c("simpleUnit", "unit")), 
                     height = structure(1, unit = 0L, class = c("simpleUnit", "unit")), 
                     justification = "centre", gp = structure(list(), class = "gpar"), 
                     clip = FALSE, xscale = c(0, 1), yscale = c(0, 1), angle = 0, layout = NULL, 
                     layout.pos.row = c(2L, 2L), layout.pos.col = c(2L, 2L), valid.just = c(0.5, 
                     0.5), valid.pos.row = c(2L, 2L), valid.pos.col = c(2L, 2L), name = "GRID.VP.391"), class = "viewport")), class = c("vpList", 
             "viewport"))), class = c("vpTree", "viewport")), children = structure(list(
             GRID.text.2024 = structure(list(label = "aaaa", x = structure(0, unit = 0L, class = c("simpleUnit", 
             "unit")), y = structure(0, unit = 0L, class = c("simpleUnit", "unit")), just = "centre", 
                 hjust = 0.5, vjust = 0.5, rot = 0, check.overlap = FALSE, name = "GRID.text.2024", 
                 gp = structure(list(), class = "gpar"), vp = NULL), class = c("text", 
             "grob", "gDesc"))), class = "gList"), childrenOrder = "GRID.text.2024"), class = c("titleGrob", 
     "gTree", "grob", "gDesc")))
  10: pushvpgp(x)
  11: pushgrobvp(x$vp)
  12: pushgrobvp.viewport(x$vp)
  13: pushViewport(vp, recording = FALSE)
  14: lapply(vps, push.vp, recording)
  15: FUN(X[[i]], ...)
  16: push.vp.vpTree(X[[i]], ...)
  17: push.vp(vp$parent, recording)
  18: push.vp.viewport(vp$parent, recording)
  19: grid.Call.graphics(C_setviewport, vp, TRUE)
  
  ══ testthat results  ═══════════════════════════════════════════════════════════
  OK: 1225 SKIPPED: 4 FAILED: 16
  1. Failure: legend filters out aesthetics not of length 1 (@test-aes-setting.r#25) 
  2. Error: no warnings are generated when original data has Inf values, but no new Inf values created from the transformation (@test-coord-transform.R#21) 
  3. Error: facet_wrap() builds correct output (@test-facet-strips.r#31) 
  4. Error: facet_wrap() switches to 'bottom' (@test-facet-strips.r#44) 
  5. Error: facet_wrap() switches to 'left' (@test-facet-strips.r#57) 
  6. Error: facet_wrap() switches to 'right' (@test-facet-strips.r#70) 
  7. Error: facet_grid() builds correct output (@test-facet-strips.r#83) 
  8. Error: facet_grid() switches to 'x' (@test-facet-strips.r#96) 
  9. Error: facet_grid() switches to 'y' (@test-facet-strips.r#109) 
  1. ...
  
  Error: testthat unit tests failed
  Execution halted