context("qplot") test_that("qplot works with variables in data frame and parent env", { df <- data_frame(x = 1:10, a = 1:10) y <- 1:10 b <- 1:10 expect_is(qplot(x, y, data = df), "ggplot") expect_is(qplot(x, y, data = df, colour = a), "ggplot") expect_is(qplot(x, y, data = df, colour = b), "ggplot") bin <- 1 expect_is(qplot(x, data = df, binwidth = bin), "ggplot") }) test_that("qplot works in non-standard environments", { p <- local({ `-1-` <- 10 x <- 1:10 qplot(x, breaks = 0:`-1-`) }) expect_is(p, "ggplot") }) test_that("qplot() evaluates constants in the right place", { p <- local({ foo <- "d" qplot(1, 1, colour = I(paste0("re", foo))) }) expect_identical(layer_data(p)$colour, I("red")) }) test_that("qplot() evaluates layers in package environment", { geom_line <- function(...) { stop("!!!") } expect_error(p <- qplot(1, 1, geom = "line"), NA) })