Running 'testthat.R' [13s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(geomtextpath)
  Loading required package: ggplot2
  > 
  > test_check("geomtextpath")
  [ FAIL 35 | WARN 35 | SKIP 3 | PASS 318 ]
  
  ══ Skipped tests (3) ═══════════════════════════════════════════════════════════
  • On CRAN (2): 'test-text_helpers.R:30:3', 'test-utils.R:215:3'
  • utils.R has been moved (1): 'test-utils.R:275:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test-coord_curvedpolar.R:31:3'): We can create a grob output from coord_curvedpolar ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ccp$render_fg(panel_params = pan, theme = thm) at test-coord_curvedpolar.R:31:3
    2. │ └─geomtextpath (local) render_fg(..., self = self)
    3. │   ├─grid::grobTree(...)
    4. │   │ ├─grid::gTree(...)
    5. │   │ │ └─grid::setChildren(gt, children)
    6. │   │ └─grid::gList(...)
    7. │   └─geomtextpath::textpathGrob(...)
    8. │     └─geomtextpath:::measure_label(...)
    9. │       └─geomtextpath (local) measure(...)
   10. │         └─geomtextpath:::text_shape(...)
   11. │           ├─txt$shape[, shape_vars]
   12. │           └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   13. │             └─tibble:::vectbl_as_col_location(...)
   14. │               ├─tibble:::subclass_col_index_errors(...)
   15. │               │ └─base::withCallingHandlers(...)
   16. │               └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   17. └─vctrs (local) `<fn>`()
   18.   └─vctrs:::stop_subscript_oob(...)
   19.     └─vctrs:::stop_subscript(...)
   20.       └─rlang::abort(...)
  ── Error ('test-coord_curvedpolar.R:46:3'): element_blank case is handled correctly ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::ggplot_gtable(ggplot_build(p)) at test-coord_curvedpolar.R:46:3
    2. ├─ggplot2:::ggplot_gtable.ggplot_built(ggplot_build(p))
    3. │ └─layout$render(geom_grobs, data, theme, plot$labels)
    4. │   └─ggplot2 (local) render(..., self = self)
    5. │     └─base::lapply(...)
    6. │       └─ggplot2 (local) FUN(X[[i]], ...)
    7. │         └─self$coord$render_fg(self$panel_params[[i]], theme)
    8. │           └─geomtextpath (local) render_fg(..., self = self)
    9. │             ├─grid::grobTree(...)
   10. │             │ ├─grid::gTree(...)
   11. │             │ │ └─grid::setChildren(gt, children)
   12. │             │ └─grid::gList(...)
   13. │             └─geomtextpath::textpathGrob(...)
   14. │               └─geomtextpath:::measure_label(...)
   15. │                 └─geomtextpath (local) measure(...)
   16. │                   └─geomtextpath:::text_shape(...)
   17. │                     ├─txt$shape[, shape_vars]
   18. │                     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   19. │                       └─tibble:::vectbl_as_col_location(...)
   20. │                         ├─tibble:::subclass_col_index_errors(...)
   21. │                         │ └─base::withCallingHandlers(...)
   22. │                         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   23. └─vctrs (local) `<fn>`()
   24.   └─vctrs:::stop_subscript_oob(...)
   25.     └─vctrs:::stop_subscript(...)
   26.       └─rlang::abort(...)
  ── Error ('test-coord_curvedpolar.R:65:3'): wrapping first and last labels works as expected ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::ggplot_gtable(ggplot_build(p + scale_x_continuous(breaks = 1:10))) at test-coord_curvedpolar.R:65:3
    2. ├─ggplot2:::ggplot_gtable.ggplot_built(ggplot_build(p + scale_x_continuous(breaks = 1:10)))
    3. │ └─layout$render(geom_grobs, data, theme, plot$labels)
    4. │   └─ggplot2 (local) render(..., self = self)
    5. │     └─base::lapply(...)
    6. │       └─ggplot2 (local) FUN(X[[i]], ...)
    7. │         └─self$coord$render_fg(self$panel_params[[i]], theme)
    8. │           └─geomtextpath (local) render_fg(..., self = self)
    9. │             ├─grid::grobTree(...)
   10. │             │ ├─grid::gTree(...)
   11. │             │ │ └─grid::setChildren(gt, children)
   12. │             │ └─grid::gList(...)
   13. │             └─geomtextpath::textpathGrob(...)
   14. │               └─geomtextpath:::measure_label(...)
   15. │                 └─geomtextpath (local) measure(...)
   16. │                   └─geomtextpath:::text_shape(...)
   17. │                     ├─txt$shape[, shape_vars]
   18. │                     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   19. │                       └─tibble:::vectbl_as_col_location(...)
   20. │                         ├─tibble:::subclass_col_index_errors(...)
   21. │                         │ └─base::withCallingHandlers(...)
   22. │                         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   23. └─vctrs (local) `<fn>`()
   24.   └─vctrs:::stop_subscript_oob(...)
   25.     └─vctrs:::stop_subscript(...)
   26.       └─rlang::abort(...)
  ── Error ('test-geom_labelpath.R:16:3'): Text path grob has correct types ──────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p) at test-geom_labelpath.R:16:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath::textpathGrob(...)
   12. │                   └─geomtextpath:::measure_label(...)
   13. │                     └─geomtextpath (local) measure(...)
   14. │                       └─geomtextpath:::text_shape(...)
   15. │                         ├─txt$shape[, shape_vars]
   16. │                         └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   17. │                           └─tibble:::vectbl_as_col_location(...)
   18. │                             ├─tibble:::subclass_col_index_errors(...)
   19. │                             │ └─base::withCallingHandlers(...)
   20. │                             └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   21. └─vctrs (local) `<fn>`()
   22.   └─vctrs:::stop_subscript_oob(...)
   23.     └─vctrs:::stop_subscript(...)
   24.       └─rlang::abort(...)
  ── Error ('test-geom_textcurve.R:30:3'): geom_textcurve() creates grob appropriately ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p + coord_cartesian(expand = FALSE)) at test-geom_textcurve.R:30:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath:::textcurveGrob(...)
   12. │                   └─geomtextpath::textpathGrob(...)
   13. │                     └─geomtextpath:::measure_label(...)
   14. │                       └─geomtextpath (local) measure(...)
   15. │                         └─geomtextpath:::text_shape(...)
   16. │                           ├─txt$shape[, shape_vars]
   17. │                           └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   18. │                             └─tibble:::vectbl_as_col_location(...)
   19. │                               ├─tibble:::subclass_col_index_errors(...)
   20. │                               │ └─base::withCallingHandlers(...)
   21. │                               └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   22. └─vctrs (local) `<fn>`()
   23.   └─vctrs:::stop_subscript_oob(...)
   24.     └─vctrs:::stop_subscript(...)
   25.       └─rlang::abort(...)
  ── Error ('test-geom_textcurve.R:54:3'): geom_labelcurve() creates grob appropriately ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p + coord_cartesian(expand = FALSE)) at test-geom_textcurve.R:54:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath:::textcurveGrob(...)
   12. │                   └─geomtextpath::textpathGrob(...)
   13. │                     └─geomtextpath:::measure_label(...)
   14. │                       └─geomtextpath (local) measure(...)
   15. │                         └─geomtextpath:::text_shape(...)
   16. │                           ├─txt$shape[, shape_vars]
   17. │                           └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   18. │                             └─tibble:::vectbl_as_col_location(...)
   19. │                               ├─tibble:::subclass_col_index_errors(...)
   20. │                               │ └─base::withCallingHandlers(...)
   21. │                               └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   22. └─vctrs (local) `<fn>`()
   23.   └─vctrs:::stop_subscript_oob(...)
   24.     └─vctrs:::stop_subscript(...)
   25.       └─rlang::abort(...)
  ── Error ('test-geom_textpath.R:88:3'): Text path grob has correct types ───────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p) at test-geom_textpath.R:88:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath::textpathGrob(...)
   12. │                   └─geomtextpath:::measure_label(...)
   13. │                     └─geomtextpath (local) measure(...)
   14. │                       └─geomtextpath:::text_shape(...)
   15. │                         ├─txt$shape[, shape_vars]
   16. │                         └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   17. │                           └─tibble:::vectbl_as_col_location(...)
   18. │                             ├─tibble:::subclass_col_index_errors(...)
   19. │                             │ └─base::withCallingHandlers(...)
   20. │                             └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   21. └─vctrs (local) `<fn>`()
   22.   └─vctrs:::stop_subscript_oob(...)
   23.     └─vctrs:::stop_subscript(...)
   24.       └─rlang::abort(...)
  ── Error ('test-geom_textpath.R:115:3'): Text path grob has correct types ──────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p) at test-geom_textpath.R:115:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath::textpathGrob(...)
   12. │                   └─geomtextpath:::measure_label(...)
   13. │                     └─geomtextpath (local) measure(...)
   14. │                       └─geomtextpath:::text_shape(...)
   15. │                         ├─txt$shape[, shape_vars]
   16. │                         └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   17. │                           └─tibble:::vectbl_as_col_location(...)
   18. │                             ├─tibble:::subclass_col_index_errors(...)
   19. │                             │ └─base::withCallingHandlers(...)
   20. │                             └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   21. └─vctrs (local) `<fn>`()
   22.   └─vctrs:::stop_subscript_oob(...)
   23.     └─vctrs:::stop_subscript(...)
   24.       └─rlang::abort(...)
  ── Error ('test-geom_textpath.R:153:3'): straight richtext is like 'curved' richtext on straight path ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-geom_textpath.R:153:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-geom_textsegment.R:30:3'): geom_textsegment() creates grob appropriately ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p + coord_cartesian(expand = FALSE)) at test-geom_textsegment.R:30:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath:::segment2path(...)
   12. │                   └─super$draw_panel(pieces, coord, text_params = params, ...)
   13. │                     └─geomtextpath (local) draw_panel(...)
   14. │                       └─geomtextpath::textpathGrob(...)
   15. │                         └─geomtextpath:::measure_label(...)
   16. │                           └─geomtextpath (local) measure(...)
   17. │                             └─geomtextpath:::measure_curved(...)
   18. │                               └─geomtextpath:::text_shape(...)
   19. │                                 ├─txt$shape[, shape_vars]
   20. │                                 └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   21. │                                   └─tibble:::vectbl_as_col_location(...)
   22. │                                     ├─tibble:::subclass_col_index_errors(...)
   23. │                                     │ └─base::withCallingHandlers(...)
   24. │                                     └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   25. └─vctrs (local) `<fn>`()
   26.   └─vctrs:::stop_subscript_oob(...)
   27.     └─vctrs:::stop_subscript(...)
   28.       └─rlang::abort(...)
  ── Error ('test-geom_textsegment.R:57:3'): geom_labelsegment() creates grob appropriately ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p + coord_cartesian(expand = FALSE)) at test-geom_textsegment.R:57:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(...)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath:::segment2path(...)
   12. │                   └─super$draw_panel(pieces, coord, text_params = params, ...)
   13. │                     └─geomtextpath (local) draw_panel(...)
   14. │                       └─geomtextpath::textpathGrob(...)
   15. │                         └─geomtextpath:::measure_label(...)
   16. │                           └─geomtextpath (local) measure(...)
   17. │                             └─geomtextpath:::measure_curved(...)
   18. │                               └─geomtextpath:::text_shape(...)
   19. │                                 ├─txt$shape[, shape_vars]
   20. │                                 └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   21. │                                   └─tibble:::vectbl_as_col_location(...)
   22. │                                     ├─tibble:::subclass_col_index_errors(...)
   23. │                                     │ └─base::withCallingHandlers(...)
   24. │                                     └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   25. └─vctrs (local) `<fn>`()
   26.   └─vctrs:::stop_subscript_oob(...)
   27.     └─vctrs:::stop_subscript(...)
   28.       └─rlang::abort(...)
  ── Error ('test-geom_textsegment.R:235:3'): THe abline functions rescale hjust accordingly ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::layer_grob(p) at test-geom_textsegment.R:235:3
    2. │ └─b$plot$layers[[i]]$draw_geom(b$data[[i]], b$layout)
    3. │   └─ggplot2 (local) draw_geom(..., self = self)
    4. │     └─self$geom$draw_layer(...)
    5. │       └─ggplot2 (local) draw_layer(..., self = self)
    6. │         └─base::lapply(...)
    7. │           └─ggplot2 (local) FUN(X[[i]], ...)
    8. │             ├─rlang::inject(self$draw_panel(data, panel_params, coord, !!!params))
    9. │             └─self$draw_panel(data, panel_params, coord, text_params = `<named list>`)
   10. │               └─geomtextpath (local) draw_panel(...)
   11. │                 └─geomtextpath:::abline2path(...)
   12. │                   └─super$draw_panel(unique(data), panel_params, coord, ...)
   13. │                     └─geomtextpath (local) draw_panel(...)
   14. │                       └─geomtextpath:::segment2path(...)
   15. │                         └─super$draw_panel(pieces, coord, text_params = params, ...)
   16. │                           └─geomtextpath (local) draw_panel(...)
   17. │                             └─geomtextpath::textpathGrob(...)
   18. │                               └─geomtextpath:::measure_label(...)
   19. │                                 └─geomtextpath (local) measure(...)
   20. │                                   └─geomtextpath:::text_shape(...)
   21. │                                     ├─txt$shape[, shape_vars]
   22. │                                     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   23. │                                       └─tibble:::vectbl_as_col_location(...)
   24. │                                         ├─tibble:::subclass_col_index_errors(...)
   25. │                                         │ └─base::withCallingHandlers(...)
   26. │                                         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   27. └─vctrs (local) `<fn>`()
   28.   └─vctrs:::stop_subscript_oob(...)
   29.     └─vctrs:::stop_subscript(...)
   30.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:17:3'): Text angles are correct ─────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label("O") at test-geometry_helpers.R:17:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:47:3'): Appropriate warning with excess curvature ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label("O", vjust = -4) at test-geometry_helpers.R:47:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:89:3'): Path trimming is correct ────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label(c("A", "B", "C")) at test-geometry_helpers.R:89:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:177:3'): text can be placed on 2-point paths ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label(c("A", "B")) at test-geometry_helpers.R:177:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:214:3'): Flipping logic is correct ──────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label("ABC") at test-geometry_helpers.R:214:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:247:3'): Flipping appropriately adjusts offset ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label(c("ABC")) at test-geometry_helpers.R:247:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:261:3'): Flipping leads to correctly clipped path ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label(c("ABCD")) at test-geometry_helpers.R:261:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-geometry_helpers.R:289:3'): We can set a unit offset ───────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-geometry_helpers.R:289:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-grob_labelpath.R:4:3'): label can be missing ───────────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-grob_labelpath.R:4:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-grob_labelpath.R:30:3'): straight and curved setting produce similar boxes ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-grob_labelpath.R:30:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-grob_labelpath.R:67:3'): radius is shrunk when needed ──────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-grob_labelpath.R:67:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-grob_labelpath.R:112:3'): straight richtext is similar to richtext on straight path ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-grob_labelpath.R:112:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-grob_labelpath.R:136:3'): We can remove labels too long for the path to support ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-grob_labelpath.R:136:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-guide_axis_textpath.R:28:3'): guide_axis_textpath can render a grob ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─ggplot2::ggplotGrob(p) at test-guide_axis_textpath.R:28:3
    2. │ ├─ggplot2::ggplot_gtable(ggplot_build(x))
    3. │ └─ggplot2:::ggplot_gtable.ggplot_built(ggplot_build(x))
    4. │   └─layout$render(geom_grobs, data, theme, plot$labels)
    5. │     └─ggplot2 (local) render(..., self = self)
    6. │       └─base::lapply(...)
    7. │         └─ggplot2 (local) FUN(X[[i]], ...)
    8. │           └─self$coord$render_fg(self$panel_params[[i]], theme)
    9. │             └─ggplot2 (local) render_fg(..., self = self)
   10. │               ├─grid::grobTree(...)
   11. │               │ ├─grid::gTree(...)
   12. │               │ │ └─grid::setChildren(gt, children)
   13. │               │ └─grid::gList(...)
   14. │               └─ggplot2:::panel_guides_grob(panel_params$guides, "theta", theme)
   15. │                 └─pair$guide$draw(theme, params = pair$params)
   16. │                   └─ggplot2 (local) draw(..., self = self)
   17. │                     └─self$build_labels(key, elems, params)
   18. │                       └─geomtextpath (local) build_labels(...)
   19. │                         └─geomtextpath::textpathGrob(...)
   20. │                           └─geomtextpath:::measure_label(...)
   21. │                             └─geomtextpath (local) measure(...)
   22. │                               └─geomtextpath:::text_shape(...)
   23. │                                 ├─txt$shape[, shape_vars]
   24. │                                 └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   25. │                                   └─tibble:::vectbl_as_col_location(...)
   26. │                                     ├─tibble:::subclass_col_index_errors(...)
   27. │                                     │ └─base::withCallingHandlers(...)
   28. │                                     └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   29. └─vctrs (local) `<fn>`()
   30.   └─vctrs:::stop_subscript_oob(...)
   31.     └─vctrs:::stop_subscript(...)
   32.       └─rlang::abort(...)
  ── Error ('test-sf.R:50:3'): sf objects are converted to correct grob types ────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─sf::st_as_grob(linestring1) at test-sf.R:50:3
    2. ├─geomtextpath:::st_as_grob.sfc_labelled(linestring1)
    3. │ └─geomtextpath::textpathGrob(...)
    4. │   └─geomtextpath:::measure_label(...)
    5. │     └─geomtextpath (local) measure(...)
    6. │       └─geomtextpath:::text_shape(...)
    7. │         ├─txt$shape[, shape_vars]
    8. │         └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    9. │           └─tibble:::vectbl_as_col_location(...)
   10. │             ├─tibble:::subclass_col_index_errors(...)
   11. │             │ └─base::withCallingHandlers(...)
   12. │             └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   13. └─vctrs (local) `<fn>`()
   14.   └─vctrs:::stop_subscript_oob(...)
   15.     └─vctrs:::stop_subscript(...)
   16.       └─rlang::abort(...)
  ── Error ('test-sf.R:91:3'): We can make grobs from sf features ────────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::sf_textgrob(river, as_textbox = TRUE) at test-sf.R:91:3
    2. │ ├─grid::addGrob(...)
    3. │ ├─sf::st_as_grob(...)
    4. │ └─geomtextpath:::st_as_grob.sfc_textbox(...)
    5. │   └─geomtextpath::textpathGrob(...)
    6. │     └─geomtextpath:::measure_label(...)
    7. │       └─geomtextpath (local) measure(...)
    8. │         └─geomtextpath:::text_shape(...)
    9. │           ├─txt$shape[, shape_vars]
   10. │           └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   11. │             └─tibble:::vectbl_as_col_location(...)
   12. │               ├─tibble:::subclass_col_index_errors(...)
   13. │               │ └─base::withCallingHandlers(...)
   14. │               └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   15. └─vctrs (local) `<fn>`()
   16.   └─vctrs:::stop_subscript_oob(...)
   17.     └─vctrs:::stop_subscript(...)
   18.       └─rlang::abort(...)
  ── Error ('test-text_helpers.R:21:3'): Composite glyphs are joined ─────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath:::measure_label(ctrl) at test-text_helpers.R:21:3
    2. │ └─geomtextpath (local) measure(...)
    3. │   └─geomtextpath:::text_shape(...)
    4. │     ├─txt$shape[, shape_vars]
    5. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    6. │       └─tibble:::vectbl_as_col_location(...)
    7. │         ├─tibble:::subclass_col_index_errors(...)
    8. │         │ └─base::withCallingHandlers(...)
    9. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   10. └─vctrs (local) `<fn>`()
   11.   └─vctrs:::stop_subscript_oob(...)
   12.     └─vctrs:::stop_subscript(...)
   13.       └─rlang::abort(...)
  ── Error ('test-text_helpers.R:48:3'): Warn/error upon font fallback issues ────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─testthat::expect_error(measure_label("こ"), "No glyphs") at test-text_helpers.R:48:3
    2. │ └─testthat:::expect_condition_matching(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. ├─geomtextpath:::measure_label("こ")
    8. │ └─geomtextpath (local) measure(...)
    9. │   └─geomtextpath:::text_shape(...)
   10. │     ├─txt$shape[, shape_vars]
   11. │     └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   12. │       └─tibble:::vectbl_as_col_location(...)
   13. │         ├─tibble:::subclass_col_index_errors(...)
   14. │         │ └─base::withCallingHandlers(...)
   15. │         └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   16. └─vctrs (local) `<fn>`()
   17.   └─vctrs:::stop_subscript_oob(...)
   18.     └─vctrs:::stop_subscript(...)
   19.       └─rlang::abort(...)
  ── Error ('test-textpathgrob.R:10:3'): textpathGrobs can be created ────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─testthat::expect_silent(textpathGrob(label = "Hello")) at test-textpathgrob.R:10:3
    2. │ └─testthat:::quasi_capture(enquo(object), NULL, evaluate_promise)
    3. │   ├─testthat (local) .capture(...)
    4. │   │ ├─withr::with_output_sink(...)
    5. │   │ │ └─base::force(code)
    6. │   │ ├─base::withCallingHandlers(...)
    7. │   │ └─base::withVisible(code)
    8. │   └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    9. ├─geomtextpath::textpathGrob(label = "Hello")
   10. │ └─geomtextpath:::measure_label(...)
   11. │   └─geomtextpath (local) measure(...)
   12. │     └─geomtextpath:::text_shape(...)
   13. │       ├─txt$shape[, shape_vars]
   14. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
   15. │         └─tibble:::vectbl_as_col_location(...)
   16. │           ├─tibble:::subclass_col_index_errors(...)
   17. │           │ └─base::withCallingHandlers(...)
   18. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   19. └─vctrs (local) `<fn>`()
   20.   └─vctrs:::stop_subscript_oob(...)
   21.     └─vctrs:::stop_subscript(...)
   22.       └─rlang::abort(...)
  ── Error ('test-textpathgrob.R:109:3'): We can remove strings the path is too short to support ──
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(z, x, y, id = c(1, 1), remove_long = TRUE) at test-textpathgrob.R:109:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-textpathgrob.R:131:3'): label can be missing ───────────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-textpathgrob.R:131:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-textpathgrob.R:194:3'): unit vjust works ───────────────────────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(...) at test-textpathgrob.R:194:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  ── Error ('test-trig_helpers.R:250:3'): We can apply both smoothing types ──────
  <vctrs_error_subscript_oob/vctrs_error_subscript/rlang_error/error/condition>
  Error in `txt$shape[, shape_vars]`: Can't subset columns that don't exist.
  x Column `x_midpoint` doesn't exist.
  Backtrace:
       ▆
    1. ├─geomtextpath::textpathGrob(label, x, y, id, text_smoothing = 50) at test-trig_helpers.R:250:3
    2. │ └─geomtextpath:::measure_label(...)
    3. │   └─geomtextpath (local) measure(...)
    4. │     └─geomtextpath:::text_shape(...)
    5. │       ├─txt$shape[, shape_vars]
    6. │       └─tibble:::`[.tbl_df`(txt$shape, , shape_vars)
    7. │         └─tibble:::vectbl_as_col_location(...)
    8. │           ├─tibble:::subclass_col_index_errors(...)
    9. │           │ └─base::withCallingHandlers(...)
   10. │           └─vctrs::vec_as_location(j, n, names, missing = "error", call = call)
   11. └─vctrs (local) `<fn>`()
   12.   └─vctrs:::stop_subscript_oob(...)
   13.     └─vctrs:::stop_subscript(...)
   14.       └─rlang::abort(...)
  
  [ FAIL 35 | WARN 35 | SKIP 3 | PASS 318 ]
  Error: Test failures
  Execution halted