library(testit)
assert('sample2() does not make an exception on length-1 x', {
(sample2(5, 2) %==% c(5, 5))
(length(sample2(1:5, 2)) == 2)
})
assert('highlight_code handles {{ .code. }} and ...code #<< formats', {
(highlight_code('{{paste(1)}}') %==% '*paste(1)')
(highlight_code('paste(1) #<<') %==% '*paste(1)')
(highlight_code(' {{paste(1)}}') %==% '* paste(1)')
(highlight_code(' paste(1) #<<') %==% '*paste(1)')
(highlight_code('{{paste(1)}} # }} not at the end') %==% '{{paste(1)}} # }} not at the end')
(highlight_code('{{paste(1)}} #<<') %==% '*{{paste(1)}}')
(highlight_code('*paste(1) #<<') %==% '*paste(1) #<<')
(highlight_code('paste(1) #comment #<<') %==% '*paste(1) #comment')
(highlight_code('paste(1) #<< ') %==% '*paste(1)')
(highlight_code('paste(1) #<< ') %==% '*paste(1)')
(highlight_code(' paste(1) #<<') %==% '* paste(1)')
(highlight_code('* paste(1) #<<') %==% '* paste(1) #<<')
(highlight_code('paste(1)#<<') %==% '*paste(1)')
# A space is added in following (can't overwrite first space when 2nd char is *)
(highlight_code(' * paste(1) #<<') %==% '* * paste(1)')
})
test_uri = 'data:image/gif;base64,R0lGODdhAgACAIAAAAAAAP///ywAAAAAAgACAAACAoRRADs='
clean_env_images()
assert('encode_images() identifies images, process their paths, and stores base64 data', {
(encode_images('background-image: url(1x1.gif)') %==%
paste0('background-image: url(', url_token, '1x1.gif)'))
(env_images[['1x1.gif']] %==% test_uri)
(encode_images('background-image: url(./1x1.gif)') %==%
paste0('background-image: url(', url_token, './1x1.gif)'))
(env_images[['./1x1.gif']] %==% test_uri)
(encode_images('testing ') %==%
paste0('testing '))
(encode_images('testing ![test](1x1.gif)') %==%
paste0('testing ![test](', url_token, '1x1.gif)'))
# the image doesn't exist
(encode_images('testing ![test](2x2.gif)') %==% 'testing ![test](2x2.gif)')
(is.null(env_images[['2x2.gif']]))
# incorrect Markdown syntax
(encode_images('testing !()[1x1.gif]') %==% 'testing !()[1x1.gif]')
# surrounded by backticks
(encode_images('testing `!()[1x1.gif]`') %==% 'testing `!()[1x1.gif]`')
(encode_images('testing ``') %==% 'testing ``')
})
# this requires Internet connection, so only run in CI environments like Travis
if (!is.na(Sys.getenv('NOT_CRAN', NA))) assert('encode_images() works with online images', {
(encode_images("background-image: url(https://github.com/yihui/xaringan/raw/master/tests/testit/1x1.gif)") %==%
paste0("background-image: url(", url_token, "https://github.com/yihui/xaringan/raw/master/tests/testit/1x1.gif)"))
(env_images[['https://github.com/yihui/xaringan/raw/master/tests/testit/1x1.gif']] %==% test_uri)
})
clean_env_images()