Test linebreaks and nbsps

This commit is contained in:
Nathan McCarty 2025-02-21 16:17:31 -05:00
parent 72b102d071
commit 85ead54619
7 changed files with 132 additions and 11 deletions

View file

@ -0,0 +1,16 @@
module Main
import SSG.Djot
import SSG.HTML
import System
import System.File
main : IO ()
main = do
Right contents <- readFile "test.dj"
| Left err => do
printLn err
exitFailure
let parsed = djot contents
putStr . render . renderHtml $ parsed

View file

@ -0,0 +1,26 @@
<!DOCTYPE HTML>
<html lang=en>
<body>
<p>A paragraph with a normal newline in the middle of it</p>
<p>
A paragraph with a hard line break
<br>
in the middle of it
</p>
<p>
A paragraph with a hard line break
<br>
in the middle of it with extra spaces
</p>
<p>
A paragraph with a hard line break
<br>
in the middle of it with no spaces
</p>
<p>A paragraph with an explicit soft line break in the middle of it</p>
<p>Multiple soft breaks should coalesce into one</p>
<p>Same should apply when mixing explicit and implied soft breaks</p>
<p>An escaped space&nbsp;should render as a nonbreaking space</p>
<p>We also want to test&nbsp;&nbsp;multiple&nbsp;&nbsp;&nbsp;nonbreaking&nbsp;&nbsp;&nbsp;&nbsp;spaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in a row</p>
</body>
</html>

View file

@ -0,0 +1,6 @@
rm -rf build/
flock "$1" pack -q install-deps test.ipkg
pack -q run test.ipkg
rm -rf build/

View file

@ -0,0 +1,22 @@
A paragraph with a normal newline
in the middle of it
A paragraph with a hard line break \
in the middle of it
A paragraph with a hard line break \
in the middle of it with extra spaces
A paragraph with a hard line break \
in the middle of it with no spaces
A paragraph with an explicit soft line break \n in the middle of it
Multiple soft breaks should coalesce \n\n\n into one
Same should apply when mixing explicit \n
and implied soft breaks
An escaped space\ should render as a nonbreaking space
We also want to test\ \ multiple\ \ \ nonbreaking\ \ \ \ spaces\ \ \ \ \ in a row

View file

@ -0,0 +1,7 @@
package a-test
depends = SSG
main = Main
executable = test