|
| 1 | +context("name-mapping") |
| 2 | + |
| 3 | +test_that("can create multiple traces from name argument", { |
| 4 | + l <- plot_ly() %>% |
| 5 | + add_markers(x = 1:10, y = 1:10, name = rep(c("a", "b"), 5)) %>% |
| 6 | + plotly_build() |
| 7 | + |
| 8 | + expect_length(l$x$data, 2) |
| 9 | + expect_equal(l$x$data[[1]]$name, "a") |
| 10 | + expect_equal(l$x$data[[2]]$name, "b") |
| 11 | +}) |
| 12 | + |
| 13 | + |
| 14 | +test_that("can override name argument", { |
| 15 | + l <- plot_ly() %>% |
| 16 | + add_markers(x = 1:10, y = 1:10, split = rep(c("a", "b"), 5), name = "z") %>% |
| 17 | + plotly_build() |
| 18 | + |
| 19 | + expect_length(l$x$data, 2) |
| 20 | + expect_equal(l$x$data[[1]]$name, "z") |
| 21 | + expect_equal(l$x$data[[2]]$name, "z") |
| 22 | + |
| 23 | + # can get back old behvaior |
| 24 | + l2 <- plot_ly() %>% |
| 25 | + add_markers(x = 1:10, y = 1:10, split = rep(c("a", "b"), 5), name = paste0(rep(c("a", "b"), 5), "<br>z")) %>% |
| 26 | + plotly_build() |
| 27 | + |
| 28 | + expect_length(l2$x$data, 2) |
| 29 | + expect_equal(l2$x$data[[1]]$name, "a<br>z") |
| 30 | + expect_equal(l2$x$data[[2]]$name, "b<br>z") |
| 31 | + |
| 32 | +}) |
| 33 | + |
| 34 | + |
| 35 | +test_that("doesn't break old behavior", { |
| 36 | + # from https://community.plot.ly/t/manual-color-bug/10479 |
| 37 | + density1 <- density(diamonds[diamonds$cut %in% "Fair",]) |
| 38 | + density2 <- density(diamonds[diamonds$cut %in% "Ideal",]) |
| 39 | + |
| 40 | + l <- plot_ly(x = ~density1$x, y = ~density1$y, type = 'scatter', mode = 'lines', name = 'Fair cut', fill = 'tozeroy', |
| 41 | + fillcolor = 'rgba(168, 216, 234, 0.5)', |
| 42 | + line = list(width = 0.5)) %>% |
| 43 | + add_trace(x = ~density2$x, y = ~density2$y, name = 'Ideal cut', fill = 'tozeroy', |
| 44 | + fillcolor = 'rgba(255, 212, 96, 0.5)') %>% |
| 45 | + plotly_build() |
| 46 | + |
| 47 | + |
| 48 | + expect_equal(l$x$data[[1]]$name, "Fair cut") |
| 49 | + expect_equal(l$x$data[[2]]$name, "Ideal cut") |
| 50 | +}) |
0 commit comments