From 32eed65f048ff9d4b7e02c32440ed4bb36181a20 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Tue, 14 Mar 2023 23:36:00 -0500 Subject: [PATCH] Don't set repeat count to 0 --- .../main/java/com/todoroo/astrid/data/Task.kt | 2 +- .../tasks/repeats/CustomRecurrenceDialog.java | 1 - .../org/tasks/repeats/RecurrenceUtilsTest.kt | 22 +++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 app/src/test/java/org/tasks/repeats/RecurrenceUtilsTest.kt diff --git a/app/src/main/java/com/todoroo/astrid/data/Task.kt b/app/src/main/java/com/todoroo/astrid/data/Task.kt index 5a67dcd81..2b19ede65 100644 --- a/app/src/main/java/com/todoroo/astrid/data/Task.kt +++ b/app/src/main/java/com/todoroo/astrid/data/Task.kt @@ -565,7 +565,7 @@ class Task : Parcelable { const val TRANS_REMINDERS = "reminders" const val TRANS_RANDOM = "random" - private val INVALID_COUNT = ";?COUNT=-1".toRegex() + private val INVALID_COUNT = ";?COUNT=(-1|0)".toRegex() /** * Creates due date for this task. If this due date has no time associated, we move it to the last diff --git a/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java b/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java index f02d1a748..8d1fa61b0 100644 --- a/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java +++ b/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java @@ -463,7 +463,6 @@ public class CustomRecurrenceDialog extends DialogFragment { } if (position == 0) { rrule.setUntil(null); - rrule.setCount(0); updateRepeatUntilOptions(); } else if (position == 1) { repeatUntilClick(); diff --git a/app/src/test/java/org/tasks/repeats/RecurrenceUtilsTest.kt b/app/src/test/java/org/tasks/repeats/RecurrenceUtilsTest.kt new file mode 100644 index 000000000..5c625417b --- /dev/null +++ b/app/src/test/java/org/tasks/repeats/RecurrenceUtilsTest.kt @@ -0,0 +1,22 @@ +package org.tasks.repeats + +import junit.framework.TestCase.assertEquals +import org.junit.Test + +class RecurrenceUtilsTest { + @Test + fun shouldRemoveZeroCount() { + assertEquals( + "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR", + RecurrenceUtils.newRecur("FREQ=WEEKLY;COUNT=0;INTERVAL=1;BYDAY=FR").toString() + ) + } + + @Test + fun shouldRemoveNegativeCount() { + assertEquals( + "FREQ=WEEKLY;INTERVAL=1;BYDAY=FR", + RecurrenceUtils.newRecur("FREQ=WEEKLY;COUNT=-1;INTERVAL=1;BYDAY=FR").toString() + ) + } +} \ No newline at end of file