1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
library(testit)
yaml = '
a: 1
b: [1, 2, 3]
c: true
d:
e: !expr 1+1
f: null
'
yaml_long_indent = '
a: 1
b: [1, 2, 3]
c: true
d:
e: !expr 1+1
f: null
'
yaml_tabs = '
a: 1
b: [1, 2, 3]
c: true
d:
\te: !expr 1+1
\tf: null
'
# see https://github.com/yihui/xfun/issues/94
yaml_mre = '
output:
latex:
latex_engine: pdflatex
options:
toc: true
'
if (loadable('yaml')) assert('yaml_load() works with the yaml package', {
(yaml_load(yaml) %==% list(a = 1L, b = 1:3, c = TRUE, d = list(e = 2, f = NULL)))
(yaml_load(yaml, envir = FALSE)[[c('d', 'e')]] %==% expression(1 + 1))
f = function() {
foo = 1:10
yaml_load('a: !expr head(foo, 4)')
}
(f() %==% list(a = 1:4))
})
assert('taml_load() works', {
(taml_load(yaml) %==% list(a = 1L, b = 1:3, c = TRUE, d = list(e = 2, f = NULL)))
(taml_load(yaml, envir = FALSE)[[c('d', 'e')]] %==% expression(1 + 1))
f = function() {
foo = 1:10
taml_load('a: !expr head(foo, 4)')
}
(f() %==% list(a = 1:4))
})
assert('taml_load() works with variable indent', {
(taml_load(yaml_long_indent) %==% list(a = 1L, b = 1:3, c = TRUE, d = list(e = 2, f = NULL)))
(taml_load(yaml_long_indent, envir = FALSE)[[c('d', 'e')]] %==% expression(1 + 1))
})
assert('taml_load() works with tabs indent', {
(taml_load(yaml_tabs) %==% list(a = 1L, b = 1:3, c = TRUE, d = list(e = 2, f = NULL)))
(taml_load(yaml_tabs, envir = FALSE)[[c('d', 'e')]] %==% expression(1 + 1))
})
assert('yaml_load() works with a complex output', {
expected = list(
output = list(
latex = list(
latex_engine = "pdflatex", options = list(toc = TRUE)
)
)
)
(yaml_load(yaml_mre) %==% expected)
(yaml_load(yaml_mre, use_yaml = FALSE) %==% expected)
})
|