Skip to content

Commit 02ad22b

Browse files
committed
Fix task conflict warning and add tests
1 parent 24f49af commit 02ad22b

File tree

3 files changed

+61
-3
lines changed

3 files changed

+61
-3
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ a command-line interface for [Standard Notes](https://standardnotes.org/).
55

66
## latest updates
77

8+
### version 0.3.5 - 2024-01-08
9+
10+
- fix conflict warning handling
11+
- add helper tests
12+
- minor code simplification
13+
14+
815
### version 0.3.4 - 2024-01-07
916

1017
- fix command completion and update instructions

tasks.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,9 @@ func getAdvancedChecklists(sess *cache.Session, cacheItems cache.Items) (items.A
309309
return checklists, nil
310310
}
311311

312-
func taskListsConflictedWarning([]items.Tasklist) string {
313-
if len(items.Tasklists{}) > 0 {
314-
return color.Yellow.Sprintf("%d conflicted versions", len(items.Tasklists{}))
312+
func taskListsConflictedWarning(tasklists []items.Tasklist) string {
313+
if len(tasklists) > 0 {
314+
return color.Yellow.Sprintf("%d conflicted versions", len(tasklists))
315315
}
316316

317317
return "-"

tasks_small_test.go

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package sncli
2+
3+
import (
4+
"testing"
5+
6+
"github.com/jonhadfield/gosn-v2/items"
7+
"github.com/stretchr/testify/require"
8+
)
9+
10+
func TestBoolToText(t *testing.T) {
11+
require.Equal(t, "yes", boolToText(true, "yes", "no"))
12+
require.Equal(t, "no", boolToText(false, "yes", "no"))
13+
}
14+
15+
func TestOutputChars(t *testing.T) {
16+
require.Equal(t, "hello", outputChars("hello", 10))
17+
long := "abcdefghijklmnop"
18+
require.Equal(t, "abcdefghij...", outputChars(long, 10))
19+
}
20+
21+
func TestTaskListsConflictedWarning(t *testing.T) {
22+
tasks := []items.Tasklist{{}, {}}
23+
require.Contains(t, taskListsConflictedWarning(tasks), "2 conflicted versions")
24+
require.Equal(t, "-", taskListsConflictedWarning(nil))
25+
}
26+
27+
func TestFilterTasks(t *testing.T) {
28+
tasks := items.Tasks{
29+
{Title: "done", Completed: true},
30+
{Title: "todo", Completed: false},
31+
}
32+
completed := filterTasks(tasks, true)
33+
require.Len(t, completed, 1)
34+
require.Equal(t, "done", completed[0].Title)
35+
incomplete := filterTasks(tasks, false)
36+
require.Len(t, incomplete, 1)
37+
require.Equal(t, "todo", incomplete[0].Title)
38+
}
39+
40+
func TestFilterAdvancedChecklistTasks(t *testing.T) {
41+
tasks := items.AdvancedChecklistTasks{
42+
{Description: "d1", Completed: true},
43+
{Description: "d2", Completed: false},
44+
}
45+
completed := filterAdvancedChecklistTasks(tasks, true)
46+
require.Len(t, completed, 1)
47+
require.Equal(t, "d1", completed[0].Description)
48+
incomplete := filterAdvancedChecklistTasks(tasks, false)
49+
require.Len(t, incomplete, 1)
50+
require.Equal(t, "d2", incomplete[0].Description)
51+
}

0 commit comments

Comments
 (0)