test_that("set_fields works", {
expect_null(set_fields(NULL, NULL, NULL, NULL, NULL, NULL))
expect_error(set_fields(NULL, NULL, NULL, NULL, NULL, list = "a"))
expect_error(set_fields(NULL, NULL, NULL, NULL, "created_at", list = "a"),
"Invalid")
expect_equal(set_fields(NULL, NULL, NULL, NULL, "created_at",
list = list_fields),
list(user.fields = "created_at",
list.fields = list_fields))
expect_type(set_fields(NULL, NULL, NULL, NULL), "list")
expect_error(set_fields(NULL, NULL, NULL, NULL, 1), "characters")
expect_error(set_fields(NULL, NULL, NULL, NULL, "a"), "Invalid")
})
test_that("check_field_helper works", {
expect_length(check_field_helper(list(media = "a"), "b", "media"), 1L)
expect_length(check_field_helper(list(media = "a"), c("b", "c"), "media"), 1L)
expect_length(check_field_helper(list(media = "b"), c("b", "c"), "media"), 0L)
expect_length(check_field_helper(list(media = c("b", "c")), c("b", "c"), "media"), 0L)
expect_length(check_field_helper(list(media = c("b", "c")), c("b", "c"), "test"), 0L)
expect_length(check_field_helper(list(media = c("b", "c")), NULL, "media"), 1L)
expect_equal(check_field_helper(list(media = c("b", "c")), NULL, "media"),
c(x = "Invalid media.\n"))
# NULL returns the allowed fields
expect_equal(check_field_helper(NULL, "a", "media"), NULL)
# Empty vector returns allowed
expect_equal(check_field_helper(c(), "a", "media"), NULL)
# Empty list returns empty expansions
expect_equal(check_field_helper(list(), "a", "media"), NULL)
})
test_that("check_fields works", {
# If null allow all the fields
out_null <- check_fields(NULL,
media = c(
"duration_ms", "height", "media_key",
"preview_image_url", "type", "url", "width",
"public_metrics", "alt_text", "variants"
),
place = c("contained_within", "country", "country_code", "full_name", "geo", "id", "name", "place_type"),
poll = c("duration_minutes", "end_datetime", "id", "options", "voting_status"),
tweet = c("attachments", "author_id", "context_annotations", "conversation_id", "created_at", "edit_controls", "entities", "geo", "id", "in_reply_to_user_id", "lang", "public_metrics", "possibly_sensitive", "referenced_tweets", "reply_settings", "source", "text", "withheld"),
user = c("created_at", "description", "entities", "id", "location", "name", "pinned_tweet_id", "profile_image_url", "protected", "public_metrics", "url", "username", "verified", "withheld"),
metrics = NULL
)
expect_null(out_null)
# If already provided just check
out <- check_fields(set_fields())
expect_equal(out, set_fields())
out_3 <- check_fields(list(), media = "a", place = "b", poll = "c",
tweet = "d", user = "e", metrics = "f")
expect_equal(out_3, NULL)
out_3 <- check_fields(NA, media = "a", place = "b", poll = "c", tweet = "d",
user = "e", metrics = "f")
expect_equal(out_3, NULL)
out_4 <- check_fields(c(), media = "a", place = "b", poll = "c", tweet = "d",
user = "e", metrics = "f")
expect_equal(out_4, NULL)
out_5 <- check_fields(list(media.fields = "a"), media = "a", place = "b",
poll = "c", tweet = "d", user = "e", metrics = "f")
expect_equal(out_5, list(media.fields = "a"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.