test_that("code generation works", {
expect_identical(
new_cg_block(),
structure(list(cg_input_object = list(), cg_f_list = list()), class = "dm_cg_code_block")
)
expect_snapshot({
call_to_char(body(function(.) dm_add_tbl(., weather)))
call_to_char(expr(dm_add_tbl(., weather, airports, flights, airlines, planes, mtcars, penguins)))
})
expect_snapshot({
new_cg_block()
new_cg_block(quo(dm_nycflights13()), list(function(.) dm_add_pk(., flights, flight_id)))
})
expect_snapshot({
table <- "flights"
columns <- "carrier"
cg_block <- new_cg_block(quo(dm_nycflights13())) %>%
cg_add_call(dm_rm_fk(., table = !!sym(table), columns = !!sym(columns), ref_table = airlines)) %>%
cg_add_call(dm_rm_fk(., table = flights, columns = c(origin, time_hour), ref_table = weather)) %>%
cg_add_call(dm_add_fk(., table = !!sym(table), columns = !!sym(columns), ref_table = airlines))
cg_block
cg_eval_block(cg_block)
})
expect_snapshot({
cg_block_2 <- new_cg_block(
cg_block$cg_input_object,
list(
function(.) dm(., mtcars),
function(.) dm_select_tbl(., -planes)
)
)
cg_block_2
cg_eval_block(cg_block_2)
})
expect_snapshot({
format(new_cg_block(quo(dm_nycflights13()), list(function(.) dm_add_pk(., flights, flight_id))))
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.