context('package_stub function')
test_that('it errors when package is not found', {
expect_error(package_stub('non-existent','boo',,), 'Could not find')
})
test_that('it errors when a non-character function name is given', {
expect_error(package_stub('non-existent',1,,))
})
test_that('it warns when a non-function is stubbed', {
expect_warning(package_stub('methods','new',1,1), 'instead of a function')
})
test_that('it errors when stubbing a non-existent method', {
expect_error(package_stub('methods', 'non-existent',identity,), 'it must exist')
})
test_that('it can stub methods::new', {
expect_equal(package_stub("methods", "new", function(...) 'test', new('hello')), 'test')
})
test_that('it restores methods::new after stubbing', {
package_stub("methods", "new", function(...) 'test', new('hello'))
expect_true(length(formals(methods::new)) > 1)
})
test_that('it restores base::saveRDS after stubbing', {
package_stub("base", "saveRDS", function(...) 'test', saveRDS('ok'))
expect_true(length(formals(base::saveRDS)) > 1)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.