1context("scale_date")
2
3
4# Visual tests ------------------------------------------------------------
5
6test_that("date scale draws correctly", {
7  # datetime labels are locale dependent
8  withr::local_locale(c(LC_TIME = "C"))
9
10  set.seed(321)
11  df <- data_frame(
12    dx = seq(as.Date("2012-02-29"), length.out = 100, by = "1 day")[sample(100, 50)],
13    price = runif(50)
14  )
15  df <- df[order(df$dx), ]
16
17  dt <- qplot(dx, price, data = df, geom = "line")
18  expect_doppelganger("dates along x, default breaks",
19    dt
20  )
21  expect_doppelganger("scale_x_date(breaks = date_breaks(\"2 weeks\"))",
22    dt + scale_x_date(breaks = date_breaks("2 weeks"))
23  )
24  expect_doppelganger("scale_x_date(breaks = \"3 weeks\")",
25    dt + scale_x_date(date_breaks = "3 weeks")
26  )
27  expect_doppelganger("scale_x_date(labels = date_format(\"%m/%d\"))",
28    dt + scale_x_date(labels = date_format("%m/%d"))
29  )
30  expect_doppelganger("scale_x_date(labels = date_format(\"%W\"), \"week\")",
31    dt + scale_x_date(labels = date_format("%W"), "week")
32  )
33
34  dt <- qplot(price, dx, data = df, geom = "line")
35  expect_doppelganger("dates along y, default breaks", dt)
36  expect_doppelganger("scale_y_date(breaks = date_breaks(\"2 weeks\"))",
37    dt + scale_y_date(breaks = date_breaks("2 weeks"))
38  )
39  expect_doppelganger("scale_y_date(breaks = \"3 weeks\")",
40    dt + scale_y_date(date_breaks = "3 weeks")
41  )
42})
43