Running ‘testthat.R’ [95s/128s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library("testthat")
  > library("plotly")
  Loading required package: ggplot2
  
  Attaching package: 'plotly'
  
  The following object is masked from 'package:ggplot2':
  
      last_plot
  
  The following object is masked from 'package:stats':
  
      filter
  
  The following object is masked from 'package:graphics':
  
      layout
  
  > 
  > test_check("plotly")
  Visual testing is not enabled.
  ══ Skipped tests ═══════════════════════════════════════════════════════════════
  ● On CRAN (20)
  ● empty test (21)
  ● has_mapbox() is not TRUE (9)
  ● quantreg cannot be loaded (2)
  ● reshape2 cannot be loaded (2)
  
  ══ Warnings ════════════════════════════════════════════════════════════════════
  ── Warning (test-animate-highlight.R:7:3): SharedData produces key/set in plot_ly ──
  `arrange_()` is deprecated as of dplyr 0.7.0.
  Please use `arrange()` instead.
  See vignette('programming') for more help
  This warning is displayed once every 8 hours.
  Call `lifecycle::last_warnings()` to see where this warning was generated.
  Backtrace:
   1. plotly::plotly_build(p) test-animate-highlight.R:7:2
   2. plotly:::plotly_build.plotly(p)
   3. base::Map(...)
   4. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   6. plotly:::arrange_safe(...)
   7. dplyr::arrange_(data, .dots = vars)
   8. dplyr:::lazy_deprec("arrange")
  ── Warning (test-animate-highlight.R:98:3): When key is equivalent to group, produce simple keys ──
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly::plotly_build(gg) test-animate-highlight.R:98:2
    2. plotly:::plotly_build.gg(gg)
    5. plotly:::ggplotly.ggplot(p)
    6. plotly::gg2list(...)
    7. base::Map(...)
    8. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   10. tidyr::nest(tib, key, .key = key)
  ── Warning (test-animate-highlight.R:128:3): When key is nested within group, produce simple key ──
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly::plotly_build(gg) test-animate-highlight.R:128:2
    2. plotly:::plotly_build.gg(gg)
    5. plotly:::ggplotly.ggplot(p)
    6. plotly::gg2list(...)
    7. base::Map(...)
    8. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   10. tidyr::nest(tib, key, .key = key)
  ── Warning (test-animate-highlight.R:350:3): animation frames are boxed up correctly ──
  Ignoring unknown aesthetics: frame
  Backtrace:
   1. ggplot2::geom_point(aes(x = volume, y = sales, frame = year)) test-animate-highlight.R:350:2
   2. ggplot2::layer(...)
  ── Warning (test-animate-highlight.R:386:3): sf works with crosstalk ───────────
  Ignoring unknown aesthetics: text
  Backtrace:
   1. ggplot2::geom_sf(...) test-animate-highlight.R:386:2
   2. ggplot2::layer_sf(...)
   3. ggplot2::layer(...)
  ── Warning (test-animate-highlight.R:389:3): sf works with crosstalk ───────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
   1. plotly::ggplotly(p, tooltip = "text") test-animate-highlight.R:389:2
   2. plotly:::ggplotly.ggplot(p, tooltip = "text")
   3. plotly::gg2list(...)
   4. base::Map(...)
   5. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   7. tidyr::nest(tib, key, .key = key)
  ── Warning (test-cookbook-axes.R:36:3): ylim hides points ──────────────────────
  Removed 13 rows containing non-finite values (stat_boxplot).
  Backtrace:
    1. plotly:::expect_traces(bp.ylim.hide, 1, "ylim.hide") test-cookbook-axes.R:36:2
    2. plotly:::expect_doppelganger_built(...) test-cookbook-axes.R:5:2
    4. plotly:::plotly_build.gg(p)
    7. plotly:::ggplotly.ggplot(p)
    8. plotly::gg2list(...)
    9. plotly:::by_layer(function(l, d) l$compute_statistic(d, layout))
   10. plotly:::f(l = layers[[i]], d = data[[i]])
   11. l$compute_statistic(d, layout)
   12. ggplot2:::f(..., self = self)
   13. self$stat$compute_layer(data, params, layout)
   14. ggplot2:::f(..., self = self)
   15. ggplot2::remove_missing(...)
   16. ggplot2:::warning_wrap(...)
  ── Warning (test-cookbook-axes.R:41:3): scale_y(limits) hides points ───────────
  Removed 13 rows containing non-finite values (stat_boxplot).
  Backtrace:
    1. plotly:::expect_traces(bp.scale.hide, 1, "scale.hide") test-cookbook-axes.R:41:2
    2. plotly:::expect_doppelganger_built(...) test-cookbook-axes.R:5:2
    4. plotly:::plotly_build.gg(p)
    7. plotly:::ggplotly.ggplot(p)
    8. plotly::gg2list(...)
    9. plotly:::by_layer(function(l, d) l$compute_statistic(d, layout))
   10. plotly:::f(l = layers[[i]], d = data[[i]])
   11. l$compute_statistic(d, layout)
   12. ggplot2:::f(..., self = self)
   13. self$stat$compute_layer(data, params, layout)
   14. ggplot2:::f(..., self = self)
   15. ggplot2::remove_missing(...)
   16. ggplot2:::warning_wrap(...)
  ── Warning (test-cookbook-axes.R:86:3): log2 transform with labels ─────────────
  is.na() applied to non-(list or vector) of type 'expression'
  Backtrace:
   1. plotly:::expect_traces(sp.labels, 1, "log2-labels") test-cookbook-axes.R:86:2
   2. plotly:::expect_doppelganger_built(...) test-cookbook-axes.R:5:2
   4. plotly:::plotly_build.gg(p)
   7. plotly:::ggplotly.ggplot(p)
   8. plotly::gg2list(...)
  ── Warning (test-cookbook-axes.R:100:3): log10 with exponents on tick labels ───
  is.na() applied to non-(list or vector) of type 'expression'
  Backtrace:
   1. plotly:::expect_traces(sp.log10.labels, 1, "scale_y_log10-labels") test-cookbook-axes.R:100:2
   2. plotly:::expect_doppelganger_built(...) test-cookbook-axes.R:5:2
   4. plotly:::plotly_build.gg(p)
   7. plotly:::ggplotly.ggplot(p)
   8. plotly::gg2list(...)
  ── Warning (test-ggplot-annotation_.R:15:3): Basic annotation_raster() example works ──
  `group_by_()` is deprecated as of dplyr 0.7.0.
  Please use `group_by()` instead.
  See vignette('programming') for more help
  This warning is displayed once every 8 hours.
  Call `lifecycle::last_warnings()` to see where this warning was generated.
  Backtrace:
   1. plotly::plotly_build(p) test-ggplot-annotation_.R:15:2
   2. plotly:::plotly_build.gg(p)
   5. plotly:::ggplotly.ggplot(p)
   6. plotly::gg2list(...)
   7. dplyr::group_by_(layout$layout, "xaxis")
   8. dplyr:::lazy_deprec("group_by")
  ── Warning (test-ggplot-date.R:36:3): scale_x_date and irregular time series work ──
  Aspect ratios aren't yet implemented, but you can manually set a suitable height/width
  Backtrace:
   1. plotly:::expect_doppelganger_built(dt, "date-irregular-time-series") test-ggplot-date.R:36:2
   3. plotly:::plotly_build.gg(p)
   6. plotly:::ggplotly.ggplot(p)
   7. plotly::gg2list(...)
  ── Warning (test-ggplot-date.R:36:3): scale_x_date and irregular time series work ──
  Aspect ratios aren't yet implemented, but you can manually set a suitable height/width
  Backtrace:
   1. plotly:::expect_doppelganger_built(dt, "date-irregular-time-series") test-ggplot-date.R:36:2
   3. plotly:::plotly_build.gg(p)
   6. plotly:::ggplotly.ggplot(p)
   7. plotly::gg2list(...)
  ── Warning (test-ggplot-dynamicTicks.R:36:3): Categorical axis reflects custom scale mapping ──
  Removed 167 rows containing non-finite values (stat_count).
  Backtrace:
    1. plotly::ggplotly(g, dynamicTicks = "x") test-ggplot-dynamicTicks.R:36:2
    2. plotly:::ggplotly.ggplot(g, dynamicTicks = "x")
    3. plotly::gg2list(...)
    4. plotly:::by_layer(function(l, d) l$compute_statistic(d, layout))
    5. plotly:::f(l = layers[[i]], d = data[[i]])
    6. l$compute_statistic(d, layout)
    7. ggplot2:::f(..., self = self)
    8. self$stat$compute_layer(data, params, layout)
    9. ggplot2:::f(..., self = self)
   10. ggplot2::remove_missing(...)
   11. ggplot2:::warning_wrap(...)
  ── Warning (test-ggplot-dynamicTicks.R:51:3): Categorical axis reflects custom scale mapping ──
  Removed 167 rows containing non-finite values (stat_count).
  Backtrace:
    1. plotly::ggplotly(g, dynamicTicks = "x") test-ggplot-dynamicTicks.R:51:2
    2. plotly:::ggplotly.ggplot(g, dynamicTicks = "x")
    3. plotly::gg2list(...)
    4. plotly:::by_layer(function(l, d) l$compute_statistic(d, layout))
    5. plotly:::f(l = layers[[i]], d = data[[i]])
    6. l$compute_statistic(d, layout)
    7. ggplot2:::f(..., self = self)
    8. self$stat$compute_layer(data, params, layout)
    9. ggplot2:::f(..., self = self)
   10. ggplot2::remove_missing(...)
   11. ggplot2:::warning_wrap(...)
  ── Warning (test-ggplot-ggplotly.R:13:3): can filter data returned by ggplotly ──
  `filter_()` is deprecated as of dplyr 0.7.0.
  Please use `filter()` instead.
  See vignette('programming') for more help
  This warning is displayed once every 8 hours.
  Call `lifecycle::last_warnings()` to see where this warning was generated.
  Backtrace:
   1. ggplotly(p) %>% filter(city == "Houston") %>% plotly_data() test-ggplot-ggplotly.R:13:2
   5. dplyr:::filter.default(., city == "Houston")
   6. dplyr::filter_(.data, .dots = compat_as_lazy_dots(...))
   7. dplyr:::lazy_deprec("filter")
  ── Warning (test-ggplot-sf.R:32:3): geom_sf() geometry collection. ─────────────
  repeating attributes for all sub-geometries for which they may not be constant
  Backtrace:
    1. plotly:::expect_doppelganger_built(p, "sf-geom-collection") test-ggplot-sf.R:32:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggplot(p)
    7. plotly::gg2list(...)
    8. plotly:::layers2traces(data, prestats_data, layout, plot)
   10. plotly:::to_basic.GeomSf(...)
   12. sf:::st_cast.sf(data)
  ── Warning (test-ggplot-sf.R:51:3): geom_sf() polygons with fill/text. ─────────
  Ignoring unknown aesthetics: text
  Backtrace:
   1. ggplot2::geom_sf(aes(fill = AREA, text = NAME)) test-ggplot-sf.R:51:2
   2. ggplot2::layer_sf(...)
   3. ggplot2::layer(...)
  ── Warning (test-ggplot-ticks.R:59:3): limits can hide data ────────────────────
  Removed 10 rows containing missing values (stat_boxplot).
  Backtrace:
    1. plotly:::expect_traces(boxes.limits, 1, "limits-hide") test-ggplot-ticks.R:59:2
    2. plotly:::expect_doppelganger_built(gg, paste0("ticks-", name)) test-ggplot-ticks.R:9:2
    4. plotly:::plotly_build.gg(p)
    7. plotly:::ggplotly.ggplot(p)
    8. plotly::gg2list(...)
    9. plotly:::by_layer(function(l, d) l$compute_statistic(d, layout))
   10. plotly:::f(l = layers[[i]], d = data[[i]])
   11. l$compute_statistic(d, layout)
   12. ggplot2:::f(..., self = self)
   13. self$stat$setup_data(data, params)
   14. ggplot2:::f(...)
   15. ggplot2::remove_missing(...)
   16. ggplot2:::warning_wrap(...)
  ── Warning (test-plotly-colorbar.R:122:3): positioning with multiple colorbars and legends ──
  n too large, allowed maximum for palette Set2 is 8
  Returning the palette you asked for with that many colors
  
  Backtrace:
   1. plotly::subplot(...) test-plotly-colorbar.R:122:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. plotly:::map_color(...)
   8. RColorBrewer::brewer.pal(N, "Set2")
  ── Warning (test-plotly-colorbar.R:122:3): positioning with multiple colorbars and legends ──
  n too large, allowed maximum for palette Set2 is 8
  Returning the palette you asked for with that many colors
  
  Backtrace:
   1. plotly::subplot(...) test-plotly-colorbar.R:122:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. plotly:::map_color(...)
   8. RColorBrewer::brewer.pal(N, "Set2")
  ── Warning (test-plotly-data.R:23:3): add_fun can apply two different chunks of data to a plot ──
  `slice_()` is deprecated as of dplyr 0.7.0.
  Please use `slice()` instead.
  This warning is displayed once every 8 hours.
  Call `lifecycle::last_warnings()` to see where this warning was generated.
  Backtrace:
    1. `%>%`(...) test-plotly-data.R:23:2
    9. dplyr:::slice.default(., which.max(mpg))
   10. dplyr::slice_(.data, .dots = compat_as_lazy_dots(...))
   11. dplyr:::lazy_deprec("slice", hint = FALSE)
  ── Warning (test-plotly-linetype.R:62:3): Trace ordering is alphabetical ───────
  plotly.js only supports 6 different linetypes
  Backtrace:
   1. plotly:::expect_traces(p, length(lvls), "alphabetical") test-plotly-linetype.R:62:2
   2. plotly:::expect_doppelganger_built(...) test-plotly-linetype.R:5:2
   4. plotly:::plotly_build.plotly(p)
   5. plotly:::map_linetype(traces)
  ── Warning (test-plotly-sf.R:37:3): plot_geo() lat/lon range is set ────────────
  The trace types 'scattermapbox' and 'scattergeo' require a projected coordinate system that is based on the WGS84 datum (EPSG:4326), but the crs provided is: '+proj=longlat +datum=NAD27 +no_defs'. Attempting transformation to the target coordinate system.
  Backtrace:
   1. plotly::plotly_build(plot_geo(nc)) test-plotly-sf.R:37:2
   2. plotly:::plotly_build.plotly(plot_geo(nc))
   3. plotly::add_sf(p)
   4. plotly:::st_cast_crs(dat)
  ── Warning (test-plotly-sf.R:89:3): Can plot sfc with a missing crs ────────────
  Missing coordinate reference system (crs). Defaulting to EPSG:4326
  Backtrace:
   1. plotly::plotly_build(plot_geo(storms, name = "Storms")) test-plotly-sf.R:89:2
   2. plotly:::plotly_build.plotly(plot_geo(storms, name = "Storms"))
   3. plotly::add_sf(p)
   4. plotly:::st_cast_crs(dat)
  ── Warning (test-plotly-size.R:7:3): sizemode is always respected ──────────────
  `line.width` does not currently support multiple values.
  Backtrace:
   1. plotly:::expect_doppelganger_built(p, "sizemode") test-plotly-size.R:7:2
   3. plotly:::plotly_build.plotly(p)
   4. plotly:::map_size(traces)
   5. plotly:::mapSize(traces[[i]], sizeI)
  ── Warning (test-plotly-size.R:7:3): sizemode is always respected ──────────────
  `line.width` does not currently support multiple values.
  Backtrace:
   1. plotly:::expect_doppelganger_built(p, "sizemode") test-plotly-size.R:7:2
   3. plotly:::plotly_build.plotly(p)
   4. plotly:::map_size(traces)
   5. plotly:::mapSize(traces[[i]], sizeI)
  ── Warning (test-plotly-size.R:7:3): sizemode is always respected ──────────────
  `line.width` does not currently support multiple values.
  Backtrace:
   1. plotly:::expect_doppelganger_built(p, "sizemode") test-plotly-size.R:7:2
   3. plotly:::plotly_build.plotly(p)
   4. plotly:::map_size(traces)
   5. plotly:::mapSize(traces[[i]], sizeI)
  ── Warning (test-plotly-size.R:7:3): sizemode is always respected ──────────────
  `line.width` does not currently support multiple values.
  Backtrace:
   1. plotly:::expect_doppelganger_built(p, "sizemode") test-plotly-size.R:7:2
   3. plotly:::plotly_build.plotly(p)
   4. plotly:::map_size(traces)
   5. plotly:::mapSize(traces[[i]], sizeI)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  Can only have one: highlight
  Backtrace:
   1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
   3. plotly:::plotly_build.gg(p)
   6. plotly:::ggplotly.ggmatrix(p)
   7. plotly::subplot(...)
   8. plotly:::ensure_one(plots, "highlight")
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  Can only have one: highlight
  Backtrace:
   1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
   3. plotly:::plotly_build.gg(p)
   6. plotly:::ggplotly.ggmatrix(p)
   7. plotly::subplot(...)
   8. plotly:::ensure_one(plots, "highlight")
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  Can only have one: highlight
  Backtrace:
   1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
   3. plotly:::plotly_build.gg(p)
   6. plotly:::ggplotly.ggmatrix(p)
   7. plotly::subplot(...)
   8. plotly:::ensure_one(plots, "highlight")
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:139:3): ggplotly understands ggmatrix ────────
  All elements of `...` must be named.
  Did you want `key = c(key)`?
  Backtrace:
    1. plotly:::expect_doppelganger_built(GGally::ggpairs(iris), "plotly-subplot-ggmatrix") test-plotly-subplot.R:139:2
    3. plotly:::plotly_build.gg(p)
    6. plotly:::ggplotly.ggmatrix(p)
    8. plotly:::ggplotly.ggplot(...)
    9. plotly::gg2list(...)
   10. base::Map(...)
   11. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   13. tidyr::nest(tib, key, .key = key)
  ── Warning (test-plotly-subplot.R:148:3): annotation paper repositioning ───────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2, margin = 0) test-plotly-subplot.R:148:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:148:3): annotation paper repositioning ───────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2, margin = 0) test-plotly-subplot.R:148:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:194:3): shape paper repositioning ────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:194:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:194:3): shape paper repositioning ────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:194:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:244:3): shape paper repositioning ────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:244:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:244:3): shape paper repositioning ────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:244:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:308:3): annotation xref/yref bumping ─────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:308:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:308:3): annotation xref/yref bumping ─────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:308:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:320:3): annotation xref/yref bumping ─────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2, shareY = TRUE) test-plotly-subplot.R:320:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:320:3): annotation xref/yref bumping ─────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2, shareY = TRUE) test-plotly-subplot.R:320:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:384:3): shape xref/yref bumping ──────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:384:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:384:3): shape xref/yref bumping ──────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2) test-plotly-subplot.R:384:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:396:3): shape xref/yref bumping ──────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2, shareY = TRUE) test-plotly-subplot.R:396:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:396:3): shape xref/yref bumping ──────────────
  No trace type specified and no positional attributes specified
  Backtrace:
   1. plotly::subplot(p1, p2, shareY = TRUE) test-plotly-subplot.R:396:2
   2. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
   3. plotly:::FUN(X[[i]], ...)
   5. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
   6. base::Map(...)
   7. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   9. plotly:::verify_type(trace)
  ── Warning (test-plotly-subplot.R:504:3): May specify legendgroup with through a vector of values ──
  No trace type specified and no positional attributes specified
  Backtrace:
    1. `%>%`(...) test-plotly-subplot.R:504:2
    3. plotly::subplot(...)
    4. base::lapply(plots, function(d) plotly_build(d, registerFrames = FALSE)[["x"]])
    5. plotly:::FUN(X[[i]], ...)
    7. plotly:::plotly_build.plotly(d, registerFrames = FALSE)
    8. base::Map(...)
    9. base::mapply(FUN = f, ..., SIMPLIFY = FALSE)
   11. plotly:::verify_type(trace)
  ── Warning (test-plotly-symbol.R:30:3): Setting a constant symbol works ────────
  The shape palette can deal with a maximum of 6 discrete values because
  more than 6 becomes difficult to discriminate; you have 25. Consider
  specifying shapes manually if you must have them.
  Backtrace:
   1. plotly:::expect_traces(p, 1, "pch") test-plotly-symbol.R:30:2
   2. plotly:::expect_doppelganger_built(...) test-plotly-symbol.R:5:2
   4. plotly:::plotly_build.plotly(p)
   5. plotly:::map_symbol(traces)
   7. (scales::shape_pal())(length(lvls))
  ── Warning (test-plotly-symbol.R:68:3): Trace ordering is alphabetical ─────────
  The shape palette can deal with a maximum of 6 discrete values because
  more than 6 becomes difficult to discriminate; you have 7. Consider
  specifying shapes manually if you must have them.
  Backtrace:
   1. plotly:::expect_traces(p, length(lvls), "alphabetical") test-plotly-symbol.R:68:2
   2. plotly:::expect_doppelganger_built(...) test-plotly-symbol.R:5:2
   4. plotly:::plotly_build.plotly(p)
   5. plotly:::map_symbol(traces)
   7. (scales::shape_pal())(length(lvls))
  ── Warning (test-plotly-symbol.R:68:3): Trace ordering is alphabetical ─────────
  The following are not valid symbol codes:
  'NA'
  Valid symbols include:
  '0', 'circle', '100', 'circle-open', '200', 'circle-dot', '300', 'circle-open-dot', '1', 'square', '101', 'square-open', '201', 'square-dot', '301', 'square-open-dot', '2', 'diamond', '102', 'diamond-open', '202', 'diamond-dot', '302', 'diamond-open-dot', '3', 'cross', '103', 'cross-open', '203', 'cross-dot', '303', 'cross-open-dot', '4', 'x', '104', 'x-open', '204', 'x-dot', '304', 'x-open-dot', '5', 'triangle-up', '105', 'triangle-up-open', '205', 'triangle-up-dot', '305', 'triangle-up-open-dot', '6', 'triangle-down', '106', 'triangle-down-open', '206', 'triangle-down-dot', '306', 'triangle-down-open-dot', '7', 'triangle-left', '107', 'triangle-left-open', '207', 'triangle-left-dot', '307', 'triangle-left-open-dot', '8', 'triangle-right', '108', 'triangle-right-open', '208', 'triangle-right-dot', '308', 'triangle-right-open-dot', '9', 'triangle-ne', '109', 'triangle-ne-open', '209', 'triangle-ne-dot', '309', 'triangle-ne-open-dot', '10', 'triangle-se', '110', 'triangle-se-open', '210', 'triangle-se-dot', '310', 'triangle-se-open-dot', '11', 'triangle-sw', '111', 'triangle-sw-open', '211', 'triangle-sw-dot', '311', 'triangle-sw-open-dot', '12', 'triangle-nw', '112', 'triangle-nw-open', '212', 'triangle-nw-dot', '312', 'triangle-nw-open-dot', '13', 'pentagon', '113', 'pentagon-open', '213', 'pentagon-dot', '313', 'pentagon-open-dot', '14', 'hexagon', '114', 'hexagon-open', '214', 'hexagon-dot', '314', 'hexagon-open-dot', '15', 'hexagon2', '115', 'hexagon2-open', '215', 'hexagon2-dot', '315', 'hexagon2-open-dot', '16', 'octagon', '116', 'octagon-open', '216', 'octagon-dot', '316', 'octagon-open-dot', '17', 'star', '117', 'star-open', '217', 'star-dot', '317', 'star-open-dot', '18', 'hexagram', '118', 'hexagram-open', '218', 'hexagram-dot', '318', 'hexagram-open-dot', '19', 'star-triangle-up', '119', 'star-triangle-up-open', '219', 'star-triangle-up-dot', '319', 'star-triangle-up-open-dot', '20', 'star-triangle-down', '120', 'star-triangle-down-open', '220', 'star-triangle-down-dot', '320', 'star-triangle-down-open-dot', '21', 'star-square', '121', 'star-square-open', '221', 'star-square-dot', '321', 'star-square-open-dot', '22', 'star-diamond', '122', 'star-diamond-open', '222', 'star-diamond-dot', '322', 'star-diamond-open-dot', '23', 'diamond-tall', '123', 'diamond-tall-open', '223', 'diamond-tall-dot', '323', 'diamond-tall-open-dot', '24', 'diamond-wide', '124', 'diamond-wide-open', '224', 'diamond-wide-dot', '324', 'diamond-wide-open-dot', '25', 'hourglass', '125', 'hourglass-open', '26', 'bowtie', '126', 'bowtie-open', '27', 'circle-cross', '127', 'circle-cross-open', '28', 'circle-x', '128', 'circle-x-open', '29', 'square-cross', '129', 'square-cross-open', '30', 'square-x', '130', 'square-x-open', '31', 'diamond-cross', '131', 'diamond-cross-open', '32', 'diamond-x', '132', 'diamond-x-open', '33', 'cross-thin', '133', 'cross-thin-open', '34', 'x-thin', '134', 'x-thin-open', '35', 'asterisk', '135', 'asterisk-open', '36', 'hash', '136', 'hash-open', '236', 'hash-dot', '336', 'hash-open-dot', '37', 'y-up', '137', 'y-up-open', '38', 'y-down', '138', 'y-down-open', '39', 'y-left', '139', 'y-left-open', '40', 'y-right', '140', 'y-right-open', '41', 'line-ew', '141', 'line-ew-open', '42', 'line-ns', '142', 'line-ns-open', '43', 'line-ne', '143', 'line-ne-open', '44', 'line-nw', '144', 'line-nw-open
  Backtrace:
   1. plotly:::expect_traces(p, length(lvls), "alphabetical") test-plotly-symbol.R:68:2
   2. plotly:::expect_doppelganger_built(...) test-plotly-symbol.R:5:2
   4. plotly:::plotly_build.plotly(p)
   5. plotly:::map_symbol(traces)
  ── Warning (test-plotly.R:41:3): Variable mappings return same result regardless of where they appear ──
  `line.width` does not currently support multiple values.
  Backtrace:
   1. plotly:::expect_same_data(p1, p2) test-plotly.R:41:2
   3. plotly:::plotly_build.plotly(p1)
   4. plotly:::map_size(traces)
   5. plotly:::mapSize(traces[[i]], sizeI)
  ── Warning (test-plotly.R:41:3): Variable mappings return same result regardless of where they appear ──
  `line.width` does not currently support multiple values.
  Backtrace:
   1. plotly:::expect_same_data(p1, p2) test-plotly.R:41:2
   3. plotly:::plotly_build.plotly(p2)
   4. plotly:::map_size(traces)
   5. plotly:::mapSize(traces[[i]], sizeI)
  ── Warning (test-plotly.R:143:3): Character strings correctly mapped to a positional axis ──
  minimal value for n is 3, returning requested palette with 3 different levels
  
  Backtrace:
   1. plotly:::expect_traces(p, 2, "character-axis") test-plotly.R:143:2
   2. plotly:::expect_doppelganger_built(p, paste0("plotly-", name)) test-plotly.R:5:2
   4. plotly:::plotly_build.plotly(p)
   5. plotly:::map_color(...)
   7. RColorBrewer::brewer.pal(N, "Set2")
  ── Warning (test-plotly.R:143:3): Character strings correctly mapped to a positional axis ──
  minimal value for n is 3, returning requested palette with 3 different levels
  
  Backtrace:
   1. plotly:::expect_traces(p, 2, "character-axis") test-plotly.R:143:2
   2. plotly:::expect_doppelganger_built(p, paste0("plotly-", name)) test-plotly.R:5:2
   4. plotly:::plotly_build.plotly(p)
   5. plotly:::map_color(...)
   7. RColorBrewer::brewer.pal(N, "Set2")
  ── Warning (test-plotly.R:179:3): Complex example works ────────────────────────
  `summarise_()` is deprecated as of dplyr 0.7.0.
  Please use `summarise()` instead.
  This warning is displayed once every 8 hours.
  Call `lifecycle::last_warnings()` to see where this warning was generated.
  Backtrace:
   1. `%>%`(...) test-plotly.R:179:2
   7. dplyr:::summarise.default(...)
   8. dplyr::summarise_(.data, .dots = compat_as_lazy_dots(...))
   9. dplyr:::lazy_deprec("summarise", hint = FALSE)
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure (test-ggplot-sf.R:43:3): geom_sf() geometry collection. ─────────────
  l$data[[4]]$x not equivalent to c(5.5, 7, 7, 6, 5.5, 5.5).
  6/6 mismatches (average diff: 1.33)
  [1] 7.0 - 5.5 ==  1.5
  [2] 6.0 - 7.0 == -1.0
  [3] 5.5 - 7.0 == -1.5
  [4] 7.0 - 6.0 ==  1.0
  [5] 7.0 - 5.5 ==  1.5
  [6] 7.0 - 5.5 ==  1.5
  ── Failure (test-ggplot-sf.R:44:3): geom_sf() geometry collection. ─────────────
  l$data[[4]]$y not equivalent to c(0, 0, -0.5, -0.5, 0, 0).
  6/6 mismatches (average diff: 0.5)
  [1] -0.5 -  0.0 == -0.5
  [2] -0.5 -  0.0 == -0.5
  [3]  0.0 - -0.5 ==  0.5
  [4]  0.0 - -0.5 ==  0.5
  [5] -0.5 -  0.0 == -0.5
  [6] -0.5 -  0.0 == -0.5
  
  [ FAIL 2 | WARN 68 | SKIP 54 | PASS 1368 ]
  Error: Test failures
  Execution halted