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; }, };