test_that("Test NULL values", { namedlist <- structure(list(), .Names = character(0)) x <- NULL y <- list(a = NULL, b = NA) z <- list(a = 1, b = character(0)) expect_true(validate(toJSON(x))) expect_equal(fromJSON(toJSON(x)), namedlist) expect_equal(toJSON(x), "{}") expect_equal(toJSON(x, null = "list"), "{}") expect_true(validate(toJSON(y))) expect_equal(toJSON(y, null = "list"), "{\"a\":{},\"b\":[null]}") expect_equal(toJSON(y, null = "null"), "{\"a\":null,\"b\":[null]}") expect_equal(fromJSON(toJSON(y, null = "null")), y) expect_equal(fromJSON(toJSON(y, null = "list")), list(a = namedlist, b = NA)) expect_true(validate(toJSON(z))) expect_equal(toJSON(z), "{\"a\":[1],\"b\":[]}") expect_equal(fromJSON(toJSON(z)), list(a = 1, b = list())) })