Skip to content

Commit be965e8

Browse files
committed
ignore punctuation
1 parent 9a12841 commit be965e8

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

evap/static/ts/src/text-answer-warnings.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,13 @@ function containsSubArray<Type>(arr: Type[], sub: Type[]): boolean {
1010
for (let i = 0; i <= arr.length - sub.length; i++) {
1111
let j;
1212
for (j = 0; j < sub.length; j++) {
13+
if (j == sub.length - 1 && arr[i + j].length > sub[j].length) {
14+
if (!arr[i + j].startsWith(sub[j])) break;
15+
if (null !== arr[i + j].substring(sub[j].length).match(RegExp("^[!?.]*$", ""))) return true;
16+
}
1317
if (arr[i + j] !== sub[j]) break;
1418
}
15-
if (j == sub.length) return true;
19+
if (j >= sub.length) return true;
1620
}
1721
return false;
1822
}
@@ -52,7 +56,7 @@ function updateTextareaWarning(textarea: HTMLTextAreaElement, textAnswerWarnings
5256

5357
export function initTextAnswerWarnings(textareas: NodeListOf<HTMLTextAreaElement>, textAnswerWarnings: string[][]) {
5458
textAnswerWarnings = textAnswerWarnings.map(triggerStrings => triggerStrings.map(normalize));
55-
59+
console.log(textAnswerWarnings);
5660
textareas.forEach(textarea => {
5761
let warningDelayTimer: ReturnType<typeof setTimeout>;
5862
textarea.addEventListener("input", () => {

evap/static/ts/tests/unit/text-answer-warnings.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ test.each([
4040
["s.o.", "s.o.", true],
4141
["s.o.s", "s.o.", false],
4242
["Antwort: s.o.", "s.o.", true],
43+
["siehe oben?!", "siehe oben", true],
4344
])("matchesTriggerString(%p, %p) should return %p", (a, b, expected) => {
4445
const result = testable.matchesTriggerString(a, b);
4546
expect(result).toBe(expected);

0 commit comments

Comments
 (0)