2016-12-13 21:02:42 +01:00
|
|
|
|
using Weave
|
2018-07-23 12:37:25 +02:00
|
|
|
|
using Test
|
2016-12-13 21:02:42 +01:00
|
|
|
|
|
|
|
|
|
# Test rendering of doc chunks
|
|
|
|
|
content = """
|
|
|
|
|
# Test chunk
|
|
|
|
|
|
|
|
|
|
Test rendering \$\alpha\$
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
dchunk = Weave.DocChunk(content, 1, 1)
|
|
|
|
|
|
|
|
|
|
pformat = Weave.formats["github"]
|
|
|
|
|
f = Weave.format_chunk(dchunk, pformat.formatdict, pformat)
|
|
|
|
|
@test f == content
|
|
|
|
|
|
|
|
|
|
docformat = Weave.formats["md2html"]
|
2018-01-07 19:19:59 +01:00
|
|
|
|
f_check = "<h1>Test chunk</h1>\n<p>Test rendering <span class=\"math\">\$\alpha\$</span></p>\n"
|
2016-12-13 21:02:42 +01:00
|
|
|
|
f = Weave.format_chunk(dchunk, docformat.formatdict, docformat)
|
|
|
|
|
@test f_check == f
|
|
|
|
|
|
2016-12-15 15:13:24 +01:00
|
|
|
|
# Test with actual doc
|
|
|
|
|
|
2016-12-14 23:24:26 +01:00
|
|
|
|
parsed = Weave.read_doc("documents/chunk_options.noweb")
|
|
|
|
|
doc = Weave.run(parsed, doctype = "md2html")
|
|
|
|
|
|
2017-03-13 15:12:57 +01:00
|
|
|
|
c_check = "<pre class='hljl'>\n<span class='hljl-n'>x</span><span class='hljl-t'> </span><span class='hljl-oB'>=</span><span class='hljl-t'> </span><span class='hljl-p'>[</span><span class='hljl-ni'>12</span><span class='hljl-p'>,</span><span class='hljl-t'> </span><span class='hljl-ni'>10</span><span class='hljl-p'>]</span><span class='hljl-t'>\n</span><span class='hljl-nf'>println</span><span class='hljl-p'>(</span><span class='hljl-n'>y</span><span class='hljl-p'>)</span>\n</pre>\n"
|
2016-12-15 15:13:24 +01:00
|
|
|
|
doc.format.formatdict[:theme] = doc.highlight_theme
|
2016-12-19 17:42:00 +01:00
|
|
|
|
c = Weave.format_code(doc.chunks[3].content, doc.format)
|
2016-12-13 21:02:42 +01:00
|
|
|
|
@test c_check == c
|
|
|
|
|
|
2017-03-13 15:12:57 +01:00
|
|
|
|
o_check = "\nprintln(x)\n"
|
|
|
|
|
o = Weave.format_output(doc.chunks[4].content, doc.format)
|
2016-12-13 21:02:42 +01:00
|
|
|
|
@test o_check == o
|
2016-12-15 15:13:24 +01:00
|
|
|
|
|
|
|
|
|
doc.template = "templates/mini.tpl"
|
|
|
|
|
rendered = Weave.render_doc("Hello", doc, doc.format)
|
|
|
|
|
@test rendered == "\nHello\n"
|
|
|
|
|
|
|
|
|
|
# Tex format
|
|
|
|
|
parsed = Weave.read_doc("documents/chunk_options.noweb")
|
|
|
|
|
doc = Weave.run(parsed, doctype = "md2tex")
|
|
|
|
|
|
2018-07-25 10:22:12 +02:00
|
|
|
|
c_check = "\\begin{lstlisting}\n(*@\\HLJLnf{println}@*)(*@\\HLJLp{(}@*)(*@\\HLJLn{x}@*)(*@\\HLJLp{)}@*)\n\\end{lstlisting}\n"
|
2016-12-15 15:13:24 +01:00
|
|
|
|
doc.format.formatdict[:theme] = doc.highlight_theme
|
2017-03-13 15:12:57 +01:00
|
|
|
|
c = Weave.format_code(doc.chunks[4].content, doc.format)
|
2016-12-15 15:13:24 +01:00
|
|
|
|
@test c_check == c
|
|
|
|
|
|
2017-03-13 15:12:57 +01:00
|
|
|
|
o_check = "\nx = [12, 10]\nprintln(y)\n"
|
|
|
|
|
o = Weave.format_output(doc.chunks[3].content, doc.format)
|
2016-12-15 15:13:24 +01:00
|
|
|
|
@test o_check == o
|
|
|
|
|
|
|
|
|
|
doc.template = "templates/mini.tpl"
|
|
|
|
|
rendered = Weave.render_doc("Hello", doc, doc.format)
|
|
|
|
|
@test rendered == "\nHello\n"
|
|
|
|
|
|
|
|
|
|
# Test header parsing and stripping
|
|
|
|
|
header = """
|
|
|
|
|
---
|
|
|
|
|
title : Test block
|
|
|
|
|
author : Matti Pastell
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# Actual header
|
|
|
|
|
|
|
|
|
|
and some text
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
dchunk = Weave.DocChunk(header, 1, 1)
|
|
|
|
|
h = Weave.parse_header(dchunk)
|
|
|
|
|
h_ref = Dict("author" => "Matti Pastell", "title" => "Test block")
|
|
|
|
|
@test h_ref == h
|
|
|
|
|
|
|
|
|
|
htext = Weave.strip_header(dchunk)
|
|
|
|
|
h_ref = """
|
|
|
|
|
# Actual header
|
|
|
|
|
|
|
|
|
|
and some text
|
|
|
|
|
|
|
|
|
|
"""
|
2016-12-27 00:16:39 +01:00
|
|
|
|
@test htext.content[1].content == h_ref
|
2019-02-25 23:09:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Test wrapping
|
|
|
|
|
|
|
|
|
|
cows = repeat("🐄", 100)
|
|
|
|
|
testcows = """
|
|
|
|
|
🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄
|
|
|
|
|
🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄"""
|
|
|
|
|
|
|
|
|
|
wcows = Weave.wrapline(cows)
|
|
|
|
|
|
|
|
|
|
@test wcows == testcows
|
|
|
|
|
@test length(split(wcows, "\n")[1]) == 75
|
|
|
|
|
@test length(split(wcows, "\n")[2]) == 25
|
2019-02-26 16:38:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tfied = "\\ensuremath{\\bm{\\mathrm{L}}} \\ensuremath{\\bm{\\mathfrak{F}}} \\ensuremath{\\bm{\\iota}} \\ensuremath{\\mathfrak{A}} \\ensuremath{\\bm{\\varTheta}}"
|
|
|
|
|
|
|
|
|
|
@test Weave.uc2tex("𝐋 𝕱 𝛊 𝔄 𝚹") == tfied
|