diff --git a/frontend/src/ts/test/result.ts b/frontend/src/ts/test/result.ts index 425aae575..fc983aae2 100644 --- a/frontend/src/ts/test/result.ts +++ b/frontend/src/ts/test/result.ts @@ -592,10 +592,18 @@ function updateOther( if (TestStats.invalid) { otherText += "
invalid"; const extra: string[] = []; - if (result.wpm < 0 || result.wpm > 350) { + if ( + result.wpm < 0 || + (result.wpm > 350 && result.mode != "words" && result.mode2 != "10") || + (result.wpm > 420 && result.mode == "words" && result.mode2 == "10") + ) { extra.push("wpm"); } - if (result.rawWpm < 0 || result.rawWpm > 350) { + if ( + result.rawWpm < 0 || + (result.rawWpm > 350 && result.mode != "words" && result.mode2 != "10") || + (result.rawWpm > 420 && result.mode == "words" && result.mode2 == "10") + ) { extra.push("raw"); } if (result.acc < 75 || result.acc > 100) { diff --git a/frontend/src/ts/test/test-logic.ts b/frontend/src/ts/test/test-logic.ts index 601995934..bf79ceb4e 100644 --- a/frontend/src/ts/test/test-logic.ts +++ b/frontend/src/ts/test/test-logic.ts @@ -1596,7 +1596,15 @@ export async function finish(difficultyFailed = false): Promise { Notifications.add("Test invalid - too short", 0); tooShort = true; dontSave = true; - } else if (completedEvent.wpm < 0 || completedEvent.wpm > 350) { + } else if ( + completedEvent.wpm < 0 || + (completedEvent.wpm > 350 && + completedEvent.mode != "words" && + completedEvent.mode2 != "10") || + (completedEvent.wpm > 420 && + completedEvent.mode == "words" && + completedEvent.mode2 == "10") + ) { Notifications.add("Test invalid - wpm", 0); TestStats.setInvalid(); dontSave = true;