Nothing
test_that("Non Nested", {
mydata <- fromJSON("https://api.github.com/users/hadley/orgs")
expect_s3_class(mydata, "data.frame")
})
test_that("Nested 1 Level", {
mydata <- fromJSON("https://api.github.com/users/hadley/repos")
expect_s3_class(mydata, "data.frame")
expect_s3_class(mydata$owner, "data.frame")
expect_equal(nrow(mydata), nrow(mydata$owner))
})
test_that("Nested 1 Level", {
mydata <- fromJSON("https://api.github.com/repos/hadley/ggplot2/issues")
expect_s3_class(mydata, "data.frame")
expect_s3_class(mydata$user, "data.frame")
expect_s3_class(mydata$pull_request, "data.frame")
expect_equal(nrow(mydata), nrow(mydata$pull_request))
})
test_that("Nested 1 Level within list", {
mydata <- fromJSON("https://api.github.com/search/repositories?q=tetris+language:assembly&sort=stars&order=desc")
expect_type(mydata, "list")
expect_s3_class(mydata$items, "data.frame")
expect_s3_class(mydata$items$owner, "data.frame")
expect_equal(nrow(mydata$items), nrow(mydata$items$owner))
})
test_that("Nested 2 Level", {
mydata <- fromJSON("https://api.github.com/repos/hadley/ggplot2/commits")
expect_s3_class(mydata, "data.frame")
expect_s3_class(mydata$commit, "data.frame")
expect_s3_class(mydata$commit$author, "data.frame")
expect_type(mydata$commit$author$name, "character")
expect_equal(nrow(mydata), nrow(mydata$commit))
expect_equal(nrow(mydata), nrow(mydata$commit$author))
})
test_that("Nested inconsistent (payload), one-to-many", {
mydata <- fromJSON("https://api.github.com/users/hadley/events")
expect_s3_class(mydata, "data.frame")
expect_s3_class(mydata$actor, "data.frame")
expect_s3_class(mydata$repo, "data.frame")
expect_type(mydata$type, "character")
expect_s3_class(mydata$payload, "data.frame")
#this is dynamic, depends on data
if (any(mydata$type == "PushEvent")) {
expect_true(all(vapply(
mydata$payload$commits,
function(x) {
is.null(x) || is.data.frame(x)
},
logical(1)
)))
}
})
test_that("Nested inconsistent (payload), one-to-many", {
mydata <- fromJSON("https://api.github.com/repos/hadley/ggplot2/events")
if (any("ForkEvent" %in% mydata$type)) {
expect_s3_class(mydata$payload$forkee$owner, "data.frame")
}
if (any(mydata$type %in% c("IssuesEvent", "IssueCommentEvent"))) {
expect_s3_class(mydata$payload$issue, "data.frame")
expect_s3_class(mydata$payload$issue$user, "data.frame")
}
})
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.