From eb661a3e59feaed22d1c6cae9088b228a916cb59 Mon Sep 17 00:00:00 2001 From: Adam Teichert Date: Thu, 18 Dec 2025 15:07:45 -0700 Subject: [PATCH] inserting newline after feedback so as to keep separate from following content --- .../quizMarkdown/feedbackSpacing.test.ts | 25 +++++++++++++++++++ .../models/utils/quizFeedbackMarkdownUtils.ts | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 src/features/local/parsingTests/quizMarkdown/feedbackSpacing.test.ts diff --git a/src/features/local/parsingTests/quizMarkdown/feedbackSpacing.test.ts b/src/features/local/parsingTests/quizMarkdown/feedbackSpacing.test.ts new file mode 100644 index 0000000..aafe02a --- /dev/null +++ b/src/features/local/parsingTests/quizMarkdown/feedbackSpacing.test.ts @@ -0,0 +1,25 @@ +import { describe, it, expect } from "vitest"; +import { quizQuestionMarkdownUtils } from "@/features/local/quizzes/models/utils/quizQuestionMarkdownUtils"; +import { QuestionType } from "@/features/local/quizzes/models/localQuizQuestion"; + +describe("feedback spacing", () => { + it("adds a blank line after feedback before answers", () => { + const question = { + text: "What is 2+2?", + questionType: QuestionType.MULTIPLE_CHOICE, + points: 1, + answers: [ + { correct: true, text: "4" }, + ], + matchDistractors: [], + correctComments: "Good", + incorrectComments: "No", + neutralComments: "Note", + } as any; + + const md = quizQuestionMarkdownUtils.toMarkdown(question as any); + + // look for double newline separating feedback block and answer marker + expect(md).toMatch(/\n\n\*?a\)/); + }); +}); diff --git a/src/features/local/quizzes/models/utils/quizFeedbackMarkdownUtils.ts b/src/features/local/quizzes/models/utils/quizFeedbackMarkdownUtils.ts index c546b99..5938205 100644 --- a/src/features/local/quizzes/models/utils/quizFeedbackMarkdownUtils.ts +++ b/src/features/local/quizzes/models/utils/quizFeedbackMarkdownUtils.ts @@ -89,6 +89,8 @@ export const quizFeedbackMarkdownUtils = { if (neutralComments) { feedbackText += `${delimiters.neutral} ${neutralComments}\n`; } + // Ensure there's a blank line after feedback block so answers are separated + if (feedbackText) feedbackText += "\n"; return feedbackText; }, };