# Testing code for internal functions
context("internals")
test_that("functions handle bad input", {
expect_error(newlog(logfile = 1))
expect_error(newlog(loglevel = '1'))
expect_error(newlog(sink = 1))
expect_error(newlog(description = 1))
expect_error(newlog(closeit = 1))
expect_error(setlogdata(datum = 1))
})
test_that("newlog and nlogs work correctly", {
nl <- nlogs()
expect_equal(nl, 0)
logfile <- file("logfile")
loglevel <- 0
sink <- TRUE
description <- "description"
closeit <- TRUE
# Make sure new entry put on stack
newlog(logfile = logfile, loglevel = loglevel, sink = sink,
description = description, closeit = closeit)
expect_equal(nlogs(), nl + 1)
# Make sure information stored correctly
loginfo <- getloginfo()
expect_is(loginfo, "list")
expect_equal(logfile, loginfo$logfile)
expect_equal(loglevel, loginfo$loglevel)
expect_equal(sink, loginfo$sink)
expect_equal(description, loginfo$description)
expect_equal(closeit, loginfo$closeit)
removelog()
expect_warning(getloginfo())
close(logfile)
})
test_that("removelog works correctly", {
nl <- nlogs()
expect_equal(nl, 0)
expect_warning(removelog())
logfile <- file("logfile")
loglevel <- 0
sink <- TRUE
description <- "description"
closeit <- TRUE
newlog(logfile = logfile, loglevel = loglevel, sink = sink,
description = description, closeit = closeit)
# Make sure information removed correctly
loginfo <- removelog()
expect_is(loginfo, "list")
expect_equal(logfile, loginfo$logfile)
expect_equal(loglevel, loginfo$loglevel)
expect_equal(sink, loginfo$sink)
expect_equal(description, loginfo$description)
expect_equal(closeit, loginfo$closeit)
expect_equal(nlogs(), 0)
close(logfile)
})
test_that("setlogdata works correctly", {
logfile <- file("logfile")
loglevel <- 0
sink <- TRUE
description <- "description"
closeit <- TRUE
newlog(logfile = logfile, loglevel = loglevel, sink = sink,
description = description, closeit = closeit)
# Only allowed to modify one aspect of log info
expect_error(setlogdata("logfile", "newlogfile"))
expect_error(setlogdata("loglevel", 1))
expect_error(setlogdata("sink", FALSE))
expect_error(setlogdata("description", "newdescription"))
expect_null(setlogdata("flags", 1))
# Make sure information changed correctly
loginfo <- removelog()
expect_equal(loginfo$flags, 1)
close(logfile)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.