simple-learning

Simple learning web program
git clone git://git.laack.co/simple-learning.git
Log | Files | Refs | README | LICENSE

commit 4982db356b79cfaf5df895944cf954f318cb4921
parent 7835c21a2e54612e597c3a75e86ab36353621129
Author: Andrew Laack <andrew@laack.co>
Date:   Tue,  1 Sep 2026 20:14:26 -0500

More constraints on proper rendering.

Diffstat:
Mlearning/test/test_courses/course_0/1_example.sl | 1-
Alearning/test/test_courses/course_1/0_example.sl | 11+++++++++++
Mlearning/test/test_rendering.ml | 29+++++++++++++++++++++++------
3 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/learning/test/test_courses/course_0/1_example.sl b/learning/test/test_courses/course_0/1_example.sl @@ -1,6 +1,5 @@ #TEST ##TEST -##TEST ###TEST =>TEST =>eTEST diff --git a/learning/test/test_courses/course_1/0_example.sl b/learning/test/test_courses/course_1/0_example.sl @@ -0,0 +1,11 @@ +# TEST +## TEST +### TEST +=> TEST +=>e TEST +``` +TEST +``` +?? TEST +> TEST +* TEST diff --git a/learning/test/test_rendering.ml b/learning/test/test_rendering.ml @@ -4,6 +4,7 @@ let courses = Array.to_list (Render.get_course_array) let expected_courses = ["course_0";"course_1";"course_empty"] let course_0_page_0 = Render.render_page "course_0" "0_example.sl" let course_0_page_1 = Render.render_page "course_0" "1_example.sl" +let course_1_page_0 = Render.render_page "course_1" "0_example.sl" let pages_in_order = Render.get_pages_in_order "course_0" @@ -51,15 +52,31 @@ let test_rendering () = *) (* TODO: These are brittle; add classes for rendering / validation in templates. *) - assert (not (contains course_0_page_1 "<h1>")); - assert (not (contains course_0_page_1 "<h2>")); - assert (not (contains course_0_page_1 "<h3>")); - assert (not (contains course_0_page_1 "href=TEST")); + assert (not (contains course_0_page_1 "<h1>TEST")); + assert (not (contains course_0_page_1 "<h2>TEST")); + assert (not (contains course_0_page_1 "<h3>TEST")); + assert (not (contains course_0_page_1 "href=\"TEST")); assert (not (contains course_0_page_1 "iframe")); - assert (not (contains course_0_page_1 "<pre-formatted>")); + assert (not (contains course_0_page_1 "<pre-formatted>TEST")); assert (not (contains course_0_page_1 "summary")); assert (not (contains course_0_page_1 "quote")); - assert (not (contains course_0_page_1 "ul")); + assert (not (contains course_0_page_1 "<li>")); + + (* + Test well-formed variant of above page renders each + line type as expected. + *) + assert (contains course_1_page_0 "<h1>TEST"); + assert (contains course_1_page_0 "<h2>TEST"); + assert (contains course_1_page_0 "<h3>TEST"); + assert (contains course_1_page_0 "href=\"TEST"); + assert (contains course_1_page_0 "iframe"); + assert (contains course_1_page_0 "<pre-formatted>TEST"); + assert (contains course_1_page_0 "summary"); + assert (contains course_1_page_0 "quote"); + assert (contains course_1_page_0 "<li>"); + + (* type line_format =