Cleaned up the repo and updated the test suite

This commit is contained in:
Bastien Dumont 2022-10-29 19:47:05 +02:00
parent e9cfad51cd
commit 8053321816
7 changed files with 1230 additions and 16 deletions

23
Makefile Normal file
View File

@ -0,0 +1,23 @@
.PHONY: test-all test-internal
SHELL=/bin/bash
return_statement_line_number := $(shell grep -nE '^return' text-crossrefs.lua | cut -d ':' -f 1)
line_before_return := $(shell echo $$(($(return_statement_line_number) - 1)))
test-all: test-internal test-context test-latex test-opendocument
test-internal: text-crossrefs.lua
-rm --interactive=never test/tmp.lua
sed -n 1,$(line_before_return)p text-crossrefs.lua > test/tmp.lua
cat test/test-functions.lua >> test/tmp.lua
chmod -w test/tmp.lua
pandoc -L test/tmp.lua <<< ''
@echo -e '==========================\nAll internal tests passed.\n==========================\n'
rm --interactive=never test/tmp.lua
test-%: text-crossrefs.lua sample.md
TESTED_FORMAT=$* pandoc -t native -L text-crossrefs.lua sample.md > test/tmp-$*.native
diff test/tmp-$*.native test/sample-$*.native
@echo -e '\n===============\ntest passed.\n===============\n'
rm test/tmp-$*.native

View File

@ -1,6 +1,8 @@
---
tcrf-pagenote-separator: '\ ('
tcrf-pagenote-at-end: ')'
header-includes: |
\input{tex-aux/tcrfenum}
---
(About the notes, see [toc-notes-begin>toc-notes-end]{.tcrf}.)

16
test.md
View File

@ -1,16 +0,0 @@
---
tcrf-pagenote-separator: '\ ('
tcrf-pagenote-at-end: ')'
---
Émile Gaboriau published [_L'Affaire Lerouge_ in
1866]{#publication}.[^1]
[^1]: It is a very [fine piece of literature]{#my-evaluation}.
[It was very popular.]{#reception}
See [publication]{.ref} for the publication date. I expressed
my thoughts about it [my-evaluation]{.ref type=pagenote}.
Page range: [publication>reception]{.ref}

386
test/sample-context.native Normal file
View File

@ -0,0 +1,386 @@
[ Para
[ Str "(About"
, Space
, Str "the"
, Space
, Str "notes,"
, Space
, Str "see"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "context")
"\\tcrfenum{{toc-notes-begin to toc-notes-end}}"
]
, Str ".)"
]
, Para
[ Str "\201mile"
, Space
, Str "Gaboriau"
, Space
, Str "published"
, Space
, Str ""
, Span
( "publication" , [] , [] )
[ Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
, Space
, Str "in"
, SoftBreak
, Str "1866"
]
, Str "."
, RawInline (Format "context") ""
, Note
[ Para
[ Str "It"
, Space
, Str "is"
, Space
, Str "a"
, Space
, Str "very"
, Space
, Str ""
, Span
( "my-evaluation" , [] , [] )
[ Str "fine"
, Space
, Str "piece"
, Space
, Str "of"
, Space
, Str "literature"
]
, Str "."
]
]
, RawInline (Format "context") "[note:my-evaluation]"
]
, Para
[ Str ""
, Span
( "reception" , [] , [] )
[ Str "It"
, Space
, Str "was"
, Space
, Str "very"
, Space
, Str "popular."
]
]
, Para
[ Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline (Format "context") "\\tcrfenum{{publication}}" ]
, Space
, Str "for"
, Space
, Str "the"
, Space
, Str "publication"
, Space
, Str "date."
, Space
, Str "I"
, Space
, Str "expressed"
, SoftBreak
, Str "my"
, Space
, Str "thoughts"
, Space
, Str "about"
, Space
, Str "it"
, Space
, Str "in"
, Space
, Span
( "" , [ "tcrf" ] , [ ( "reftype" , "pagenote" ) ] )
[ RawInline
(Format "context") "\\tcrfenum[pagenote]{{my-evaluation}}"
]
, Str "."
]
, Para
[ Str "If"
, Space
, Str "you"
, Space
, Str "want"
, Space
, Str "to"
, Space
, Str "know"
, Space
, Str "more"
, Space
, Str "about"
, Space
, Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
, Str ","
, Space
, Str "see"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "context") "\\tcrfenum{{publication to reception}}"
]
, Str "."
]
, Para
[ Str "Here"
, Space
, Str "are"
, Space
, Str "some"
, Space
, Str "precisions."
, RawInline (Format "context") ""
, Note
[ Para
[ Str ""
, Span
( "format" , [] , [] )
[ Str "Whatever" , Space , Str "format" ]
, Space
, Str "you"
, Space
, Str "choose,"
, Space
, Str "you"
, Space
, Str "can"
, Space
, Str ""
, Span
( "refer-to-note" , [] , [] )
[ Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
]
, Space
, Str "by"
, Space
, Str "the"
, Space
, Str "identifier"
, Space
, Str "of"
, Space
, Str ""
, Span
( "which-identifier" , [] , [] )
[ Str "any"
, Space
, Str "of"
, Space
, Str "its"
, Space
, Str "spans."
, Space
, Str "You"
, Space
, Str "can"
, Space
, Str "even"
, Space
, Str ""
, Span
( "nested-spans" , [] , [] )
[ Str "nest" , Space , Str "spans" ]
, Str "!"
]
]
]
, RawInline (Format "context") "[note:format]"
]
, Para
[ Str ""
, Span
( "toc-notes-begin" , [] , [] )
[ Str "I"
, Space
, Str "want"
, Space
, Str "to"
, Space
, Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
]
, Str ":"
]
, BulletList
[ [ Plain
[ Str "How"
, Space
, Str "can"
, Space
, Str "I"
, Space
, Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
, Space
, Str "by"
, Space
, Str "its"
, Space
, Str "number?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "context") "\\tcrfenum{{refer-to-note}}"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "formats"
, Space
, Str "are"
, Space
, Str "supported?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline (Format "context") "\\tcrfenum{{format}}" ]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "if"
, Space
, Str "the"
, Space
, Str "note"
, Space
, Str "contains"
, Space
, Str "multiple"
, Space
, Str "spans"
, Space
, Str "with"
, Space
, Str "identifiers?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "context") "\\tcrfenum{{which-identifier}}"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "happens"
, Space
, Str "if"
, Space
, Str "a"
, Space
, Str "span"
, Space
, Str "in"
, Space
, Str "contained"
, Space
, Str "in"
, Space
, Str "a"
, Space
, Str "span?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "context") "\\tcrfenum{{nested-spans}}"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "are"
, Space
, Str "the"
, Space
, Str "notes?"
, Space
, Str "\8594"
, Space
, Span
( "" , [ "tcrf" ] , [ ( "reftype" , "note" ) ] )
[ RawInline
(Format "context")
"\\tcrfenum[note]{{my-evaluation}{format}{refer-to-note}}"
]
]
]
, [ Plain
[ Str "Where"
, Space
, Str "are"
, Space
, Str "the"
, Space
, Str "notes?"
, Space
, Str "\8594"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "context")
"\\tcrfenum{{my-evaluation}{format}}"
]
]
]
]
, Para [ Str "" , Span ( "toc-notes-end" , [] , [] ) [] ]
]

386
test/sample-latex.native Normal file
View File

@ -0,0 +1,386 @@
[ Para
[ Str "(About"
, Space
, Str "the"
, Space
, Str "notes,"
, Space
, Str "see"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "latex")
"\\tcrfenum{{toc-notes-begin to toc-notes-end}}"
]
, Str ".)"
]
, Para
[ Str "\201mile"
, Space
, Str "Gaboriau"
, Space
, Str "published"
, Space
, RawInline (Format "latex") "\\label{publication}"
, Span
( "publication" , [] , [] )
[ Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
, Space
, Str "in"
, SoftBreak
, Str "1866"
]
, Str "."
, RawInline (Format "latex") ""
, Note
[ Para
[ Str "It"
, Space
, Str "is"
, Space
, Str "a"
, Space
, Str "very"
, Space
, RawInline (Format "latex") "\\label{my-evaluation}"
, Span
( "my-evaluation" , [] , [] )
[ Str "fine"
, Space
, Str "piece"
, Space
, Str "of"
, Space
, Str "literature"
]
, Str "."
]
]
, RawInline (Format "latex") ""
]
, Para
[ RawInline (Format "latex") "\\label{reception}"
, Span
( "reception" , [] , [] )
[ Str "It"
, Space
, Str "was"
, Space
, Str "very"
, Space
, Str "popular."
]
]
, Para
[ Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline (Format "latex") "\\tcrfenum{{publication}}" ]
, Space
, Str "for"
, Space
, Str "the"
, Space
, Str "publication"
, Space
, Str "date."
, Space
, Str "I"
, Space
, Str "expressed"
, SoftBreak
, Str "my"
, Space
, Str "thoughts"
, Space
, Str "about"
, Space
, Str "it"
, Space
, Str "in"
, Space
, Span
( "" , [ "tcrf" ] , [ ( "reftype" , "pagenote" ) ] )
[ RawInline
(Format "latex") "\\tcrfenum[pagenote]{{my-evaluation}}"
]
, Str "."
]
, Para
[ Str "If"
, Space
, Str "you"
, Space
, Str "want"
, Space
, Str "to"
, Space
, Str "know"
, Space
, Str "more"
, Space
, Str "about"
, Space
, Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
, Str ","
, Space
, Str "see"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "latex") "\\tcrfenum{{publication to reception}}"
]
, Str "."
]
, Para
[ Str "Here"
, Space
, Str "are"
, Space
, Str "some"
, Space
, Str "precisions."
, RawInline (Format "latex") ""
, Note
[ Para
[ RawInline (Format "latex") "\\label{format}"
, Span
( "format" , [] , [] )
[ Str "Whatever" , Space , Str "format" ]
, Space
, Str "you"
, Space
, Str "choose,"
, Space
, Str "you"
, Space
, Str "can"
, Space
, RawInline (Format "latex") "\\label{refer-to-note}"
, Span
( "refer-to-note" , [] , [] )
[ Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
]
, Space
, Str "by"
, Space
, Str "the"
, Space
, Str "identifier"
, Space
, Str "of"
, Space
, RawInline (Format "latex") "\\label{which-identifier}"
, Span
( "which-identifier" , [] , [] )
[ Str "any"
, Space
, Str "of"
, Space
, Str "its"
, Space
, Str "spans."
, Space
, Str "You"
, Space
, Str "can"
, Space
, Str "even"
, Space
, RawInline (Format "latex") "\\label{nested-spans}"
, Span
( "nested-spans" , [] , [] )
[ Str "nest" , Space , Str "spans" ]
, Str "!"
]
]
]
, RawInline (Format "latex") ""
]
, Para
[ RawInline (Format "latex") "\\label{toc-notes-begin}"
, Span
( "toc-notes-begin" , [] , [] )
[ Str "I"
, Space
, Str "want"
, Space
, Str "to"
, Space
, Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
]
, Str ":"
]
, BulletList
[ [ Plain
[ Str "How"
, Space
, Str "can"
, Space
, Str "I"
, Space
, Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
, Space
, Str "by"
, Space
, Str "its"
, Space
, Str "number?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline (Format "latex") "\\tcrfenum{{refer-to-note}}"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "formats"
, Space
, Str "are"
, Space
, Str "supported?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline (Format "latex") "\\tcrfenum{{format}}" ]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "if"
, Space
, Str "the"
, Space
, Str "note"
, Space
, Str "contains"
, Space
, Str "multiple"
, Space
, Str "spans"
, Space
, Str "with"
, Space
, Str "identifiers?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "latex") "\\tcrfenum{{which-identifier}}"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "happens"
, Space
, Str "if"
, Space
, Str "a"
, Space
, Str "span"
, Space
, Str "in"
, Space
, Str "contained"
, Space
, Str "in"
, Space
, Str "a"
, Space
, Str "span?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline (Format "latex") "\\tcrfenum{{nested-spans}}"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "are"
, Space
, Str "the"
, Space
, Str "notes?"
, Space
, Str "\8594"
, Space
, Span
( "" , [ "tcrf" ] , [ ( "reftype" , "note" ) ] )
[ RawInline
(Format "latex")
"\\tcrfenum[note]{{my-evaluation}{format}{refer-to-note}}"
]
]
]
, [ Plain
[ Str "Where"
, Space
, Str "are"
, Space
, Str "the"
, Space
, Str "notes?"
, Space
, Str "\8594"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "latex") "\\tcrfenum{{my-evaluation}{format}}"
]
]
]
]
, Para
[ RawInline (Format "latex") "\\label{toc-notes-end}"
, Span ( "toc-notes-end" , [] , [] ) []
]
]

View File

@ -0,0 +1,397 @@
[ Para
[ Str "(About"
, Space
, Str "the"
, Space
, Str "notes,"
, Space
, Str "see"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"pp.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"toc-notes-begin\">000</text:bookmark-ref>\8211<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"toc-notes-end\">000</text:bookmark-ref>"
]
, Str ".)"
]
, Para
[ Str "\201mile"
, Space
, Str "Gaboriau"
, Space
, Str "published"
, Space
, Str ""
, Span
( "publication" , [] , [] )
[ Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
, Space
, Str "in"
, SoftBreak
, Str "1866"
]
, Str "."
, RawInline (Format "opendocument") ""
, Note
[ Para
[ Str "It"
, Space
, Str "is"
, Space
, Str "a"
, Space
, Str "very"
, Space
, Str ""
, Span
( "my-evaluation" , [] , [] )
[ Str "fine"
, Space
, Str "piece"
, Space
, Str "of"
, Space
, Str "literature"
]
, Str "."
]
]
, RawInline (Format "opendocument") ""
]
, Para
[ Str ""
, Span
( "reception" , [] , [] )
[ Str "It"
, Space
, Str "was"
, Space
, Str "very"
, Space
, Str "popular."
]
]
, Para
[ Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"publication\">000</text:bookmark-ref>"
]
, Space
, Str "for"
, Space
, Str "the"
, Space
, Str "publication"
, Space
, Str "date."
, Space
, Str "I"
, Space
, Str "expressed"
, SoftBreak
, Str "my"
, Space
, Str "thoughts"
, Space
, Str "about"
, Space
, Str "it"
, Space
, Str "in"
, Space
, Span
( "" , [ "tcrf" ] , [ ( "reftype" , "pagenote" ) ] )
[ RawInline
(Format "opendocument")
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"my-evaluation\">000</text:bookmark-ref>\160(n.\160<text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn0\">000</text:note-ref>)"
]
, Str "."
]
, Para
[ Str "If"
, Space
, Str "you"
, Space
, Str "want"
, Space
, Str "to"
, Space
, Str "know"
, Space
, Str "more"
, Space
, Str "about"
, Space
, Emph [ Str "L\8217Affaire" , Space , Str "Lerouge" ]
, Str ","
, Space
, Str "see"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"pp.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"publication\">000</text:bookmark-ref>\8211<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"reception\">000</text:bookmark-ref>"
]
, Str "."
]
, Para
[ Str "Here"
, Space
, Str "are"
, Space
, Str "some"
, Space
, Str "precisions."
, RawInline (Format "opendocument") ""
, Note
[ Para
[ Str ""
, Span
( "format" , [] , [] )
[ Str "Whatever" , Space , Str "format" ]
, Space
, Str "you"
, Space
, Str "choose,"
, Space
, Str "you"
, Space
, Str "can"
, Space
, Str ""
, Span
( "refer-to-note" , [] , [] )
[ Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
]
, Space
, Str "by"
, Space
, Str "the"
, Space
, Str "identifier"
, Space
, Str "of"
, Space
, Str ""
, Span
( "which-identifier" , [] , [] )
[ Str "any"
, Space
, Str "of"
, Space
, Str "its"
, Space
, Str "spans."
, Space
, Str "You"
, Space
, Str "can"
, Space
, Str "even"
, Space
, Str ""
, Span
( "nested-spans" , [] , [] )
[ Str "nest" , Space , Str "spans" ]
, Str "!"
]
]
]
, RawInline (Format "opendocument") ""
]
, Para
[ Str ""
, Span
( "toc-notes-begin" , [] , [] )
[ Str "I"
, Space
, Str "want"
, Space
, Str "to"
, Space
, Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
]
, Str ":"
]
, BulletList
[ [ Plain
[ Str "How"
, Space
, Str "can"
, Space
, Str "I"
, Space
, Str "refer"
, Space
, Str "to"
, Space
, Str "a"
, Space
, Str "note"
, Space
, Str "by"
, Space
, Str "its"
, Space
, Str "number?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"refer-to-note\">000</text:bookmark-ref>"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "formats"
, Space
, Str "are"
, Space
, Str "supported?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"format\">000</text:bookmark-ref>"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "if"
, Space
, Str "the"
, Space
, Str "note"
, Space
, Str "contains"
, Space
, Str "multiple"
, Space
, Str "spans"
, Space
, Str "with"
, Space
, Str "identifiers?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"which-identifier\">000</text:bookmark-ref>"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "happens"
, Space
, Str "if"
, Space
, Str "a"
, Space
, Str "span"
, Space
, Str "in"
, Space
, Str "contained"
, Space
, Str "in"
, Space
, Str "a"
, Space
, Str "span?"
, Space
, Str "\8594"
, Space
, Str "See"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"p.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"nested-spans\">000</text:bookmark-ref>"
]
, Str "."
]
]
, [ Plain
[ Str "What"
, Space
, Str "are"
, Space
, Str "the"
, Space
, Str "notes?"
, Space
, Str "\8594"
, Space
, Span
( "" , [ "tcrf" ] , [ ( "reftype" , "note" ) ] )
[ RawInline
(Format "opendocument")
"nn.\160<text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn0\">000</text:note-ref>, <text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn1\">000</text:note-ref> and <text:note-ref text:note-class=\"footnote\" text:reference-format=\"text\" text:ref-name=\"ftn1\">000</text:note-ref>"
]
]
]
, [ Plain
[ Str "Where"
, Space
, Str "are"
, Space
, Str "the"
, Space
, Str "notes?"
, Space
, Str "\8594"
, Space
, Span
( "" , [ "tcrf" ] , [] )
[ RawInline
(Format "opendocument")
"pp.\160<text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"my-evaluation\">000</text:bookmark-ref> and <text:bookmark-ref text:reference-format=\"page\" text:ref-name=\"format\">000</text:bookmark-ref>"
]
]
]
]
, Para [ Str "" , Span ( "toc-notes-end" , [] , [] ) [] ]
]

36
test/test-functions.lua Normal file
View File

@ -0,0 +1,36 @@
local refs
refs = parse_references_enum('mylabel')
assert(#refs == 1)
assert(refs[1].anchor == 'mylabel')
assert(not refs[1].end_of_range)
assert(make_raw_content_tex(refs, 'page', true)
== '\\tcrfenum{{mylabel}}')
assert(make_raw_content_tex(refs, 'page', false)
== '\\tcrfenum[noprefix]{{mylabel}}')
assert(make_raw_content_tex(refs, 'note', true)
== '\\tcrfenum[note]{{mylabel}}')
assert(make_raw_content_tex(refs, 'note', false)
== '\\tcrfenum[note][noprefix]{{mylabel}}')
refs = parse_references_enum('rangebeg>rangeend')
assert(#refs == 1)
assert(refs[1].anchor == 'rangebeg')
assert(refs[1].end_of_range == 'rangeend')
assert(make_raw_content_tex(refs, 'page', true)
== '\\tcrfenum{{rangebeg to rangeend}}')
refs = parse_references_enum('first, second')
assert(#refs == 2)
assert(refs[1].anchor == 'first')
assert(refs[2].anchor == 'second')
assert(make_raw_content_tex(refs, 'page', true)
== '\\tcrfenum{{first}{second}}')
refs = parse_references_enum('first, rangebeg>rangeend')
assert(#refs == 2)
assert(refs[1].anchor == 'first')
assert(refs[2].anchor == 'rangebeg')
assert(refs[2].end_of_range == 'rangeend')
assert(make_raw_content_tex(refs, 'page', true)
== '\\tcrfenum{{first}{rangebeg to rangeend}}')