Nothing
# subset_tags() #####
test_that("subset_tags() properly subsets existing elements", {
x <- list(a = 1, b = 2, c = 3)
expect_equal(subset_tags(x, c("a")), list(a = 1))
expect_equal(subset_tags(x, c("a", "b")), list(a = 1, b = 2))
expect_equal(subset_tags(x, c("a", "b", "c")), list(a = 1, b = 2, c = 3))
})
test_that("subset_tags() returns empty list for no matches", {
x <- list(a = 1, b = 2, c = 3)
expect_equal(subset_tags(x, c("d")), list())
expect_equal(subset_tags(x, c("d", "e")), list())
expect_equal(subset_tags(x, c("a", "b", "c"), negate = TRUE), list())
})
test_that("subset_tags() negates properly", {
x <- list(a = 1, b = 2, c = 3)
expect_equal(subset_tags(x, c("a"), negate = TRUE), list(b = 2, c = 3))
expect_equal(subset_tags(x, c("a", "b"), negate = TRUE), list(c = 3))
})
test_that("subset_tags() handles empty list with empty list", {
expect_equal(subset_tags(list(), c("a")), list())
expect_equal(subset_tags(list(), c("a", "b"), negate = TRUE), list())
})
# is_tag_line() #####
test_that("is_tag_line() accurately indicates correct lines", {
expect_true(is_tag_line("-- @query: value"))
expect_true(is_tag_line("--@query:value"))
expect_true(is_tag_line(" --@query:value"))
})
test_that("is_tag_line() accurately indicates incorrect lines", {
expect_false(is_tag_line("-- @query value"))
expect_false(is_tag_line("-- query:value"))
expect_false(is_tag_line("- @query: value"))
})
# extract_all_tags() #####
test_that("extract_all_tags() returns tags", {
sql <- "
-- @query: mtcars
-- @test: value
"
expect_equal(extract_all_tags(sql), list(query = "mtcars", test = "value"))
})
test_that("extract_all_tags() returns empty list if no tags", {
sql <- "SELECT * FROM TABLE"
expect_equal(extract_all_tags(sql), list())
expect_equal(extract_all_tags(""), list())
})
# extract_type() #####
test_that("extract_type() prioritizes heirarchy", {
sql_ordered <- "
-- @type: query
-- @exec: name
"
sql_unordered <- "
-- @exec: name
-- @type: query
"
expect_equal(extract_type(sql_ordered), "query")
expect_equal(extract_type(sql_unordered), "query")
})
test_that("extract_type() uses first explicit type", {
sql1 <- "
-- @type: query
-- @type: exec
"
sql2 <- "
-- @type: exec
-- @type: query
"
expect_equal(extract_type(sql1), "query")
expect_equal(extract_type(sql2), "exec")
})
test_that("extract_type() uses alias if no explicit type", {
sql1 <- "-- @query: my_query"
expect_equal(extract_type(sql1), "query")
})
test_that("extract_type() defaults to query", {
expect_equal(extract_type(""), "query")
})
test_that("extract_type() uses set option", {
old <- options("qryflow.default.type" = "exec")
on.exit(options(old), add = TRUE)
expect_equal(extract_type(""), "exec")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.