From c8bccebae304be1461d6d3ee219d4b0c6987b1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Wickstr=C3=B6m?= Date: Fri, 1 Apr 2022 21:27:27 +0200 Subject: [PATCH] Tighten up edit input activeness check in spec --- case-studies/todomvc.strom | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/case-studies/todomvc.strom b/case-studies/todomvc.strom index a1251ff..aed792b 100644 --- a/case-studies/todomvc.strom +++ b/case-studies/todomvc.strom @@ -91,6 +91,7 @@ let ~changeFilter = }); let ~setSameFilter = + editInput == null && unchanged([ selectedFilter, newTodoInput.pendingText, @@ -104,7 +105,7 @@ let ~addNew = // Blank todo items cannot be created. trimmed != "" // Creating an item clears the input and always enabled one of the filters. - && newTodoInput.pendingText becomes "" && selectedFilter does not become null + && newTodoInput.pendingText becomes "" // && selectedFilter does not become null // Pressing return is the only way to create a todo item. && nextT (contains(keyPress!(keys.return), happened)) && (match selectedFilter { @@ -194,7 +195,7 @@ let ~toggleAll = }); let ~startEditing = - (numInEditMode == 0) ~> (numInEditMode == 1 && editInput.active) + ((numInEditMode == 0) ~> (numInEditMode == 1 && editInput.active)) && unchanged([ newTodoInput.pendingText, selectedFilter, @@ -245,8 +246,10 @@ let ~enterEditMode = ); let ~editModeTransition = - (numInEditMode == 1 ~> numInEditMode == 1) - || (numInEditMode == 1 ~> numInEditMode == 0); + editInput != null + && editInput.active + && ((numInEditMode == 1 ~> numInEditMode == 1) + || (numInEditMode == 1 ~> numInEditMode == 0)); // Global Invariants