test_that("tidy_scrap() function", {
skip_on_cran()
expect_equal(
tidy_scrap(
link = "https://www.imdb.com/chart/top/",
nodes = ".titleColumn a",
colnames = c("value")),
unlist(lapply("https://www.imdb.com/chart/top/",
function(url){
url %>% read_html() %>%
html_nodes(".titleColumn a") %>%
html_text()
})) %>% as_tibble(.)
)
# expecting a data.frame output
expect_s3_class(
tidy_scrap("https://www.imdb.com/chart/top/",
c(".titleColumn a", "strong"),
c("title", "rating")),
"data.frame"
)
# expecting errors if one of those arguments is missing
expect_error(tidy_scrap(link = "https://www.imdb.com/chart/top/"))
expect_error(tidy_scrap(nodes = c(".titleColumn a", "strong")))
expect_error(tidy_scrap(colnames = c("title", "rating")))
# expecting an error when providing an undefined variable
expect_error(
tidy_scrap(undefined_variable,
c(".titleColumn a", "strong"),
c("title", "rating"))
)
# expecting an error if the parameters are not character strings
expect_error(
tidy_scrap("https://www.imdb.com/chart/top/",
c(123123, 123123),
c("title", "rating"))
)
# expecting an error when length 'nodes' and 'colnames' not the same
expect_error(
tidy_scrap("https://www.imdb.com/chart/top/",
c(".titleColumn a"),
c("title", "rating"))
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.