From 8df3a34dde2088783c2acdcf66328cab23813899 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Fri, 29 Mar 2024 15:08:15 -0600 Subject: [PATCH] fixed square brackets bug --- .../Markdown/Quiz/MultipleAnswersTests.cs | 28 +++++++++++++++++++ .../Actors/Messages/ITraceableMessage.cs | 4 +-- .../Models/Local/Quiz/LocalQuizQuestion.cs | 2 +- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/Management.Test/Markdown/Quiz/MultipleAnswersTests.cs b/Management.Test/Markdown/Quiz/MultipleAnswersTests.cs index 3adc7fc..e9a123d 100644 --- a/Management.Test/Markdown/Quiz/MultipleAnswersTests.cs +++ b/Management.Test/Markdown/Quiz/MultipleAnswersTests.cs @@ -94,4 +94,32 @@ Which events are triggered when the user clicks on an input field? question.Answers.First().Text.Should().Be("`int[] theThing()`"); question.Answers.Count().Should().Be(2); } + + [Test] + public void CanUseBracesInAnswerFormultipleAnswer_MultiLine() + { + var rawMarkdownQuestion = @" +Which events are triggered when the user clicks on an input field? +[*] +``` +int[] myNumbers = new int[] { }; +DoSomething(ref myNumbers); +static void DoSomething(ref int[] numbers) +{ + // do something +} +``` +"; + + var question = LocalQuizQuestion.ParseMarkdown(rawMarkdownQuestion, 0); + question.Answers.First().Text.Should().Be(@"``` +int[] myNumbers = new int[] { }; +DoSomething(ref myNumbers); +static void DoSomething(ref int[] numbers) +{ + // do something +} +```"); + question.Answers.Count().Should().Be(1); + } } diff --git a/Management/Actors/Messages/ITraceableMessage.cs b/Management/Actors/Messages/ITraceableMessage.cs index a9456f4..b82be03 100644 --- a/Management/Actors/Messages/ITraceableMessage.cs +++ b/Management/Actors/Messages/ITraceableMessage.cs @@ -2,7 +2,7 @@ using System.Diagnostics; public interface ITraceableMessage { - public ActivitySpanId? ParentSpan {get;} - public ActivityTraceId? ParentTrace {get;} + public ActivitySpanId? ParentSpan { get; } + public ActivityTraceId? ParentTrace { get; } } diff --git a/Management/Models/Local/Quiz/LocalQuizQuestion.cs b/Management/Models/Local/Quiz/LocalQuizQuestion.cs index 9ef4b88..e65a6e1 100644 --- a/Management/Models/Local/Quiz/LocalQuizQuestion.cs +++ b/Management/Models/Local/Quiz/LocalQuizQuestion.cs @@ -153,7 +153,7 @@ public record LocalQuizQuestion var answerLinesRaw = linesWithoutPoints[indexOfAnswerStart..]; - var answerStartPattern = @"^(\*?[a-z]?\))|\[\s*\]|\[\*\]|\^"; + var answerStartPattern = @"^(\*?[a-z]?\))|(?(), (acc, line) => { var isNewAnswer = Regex.IsMatch(line, answerStartPattern);