aboutsummaryrefslogtreecommitdiffstats
path: root/commands/msgview/save_test.go
blob: d6b7e757f97b65bbd38bfe33d88ac96919bfd2a8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package msgview

import "testing"

func TestGetCollisionlessFilename(t *testing.T) {
	tests := []struct {
		originalFilename string
		expectedNewName  string
		existingFiles    map[string]struct{}
	}{
		{"test", "test", map[string]struct{}{}},
		{"test", "test", map[string]struct{}{"other-file": {}}},
		{"test.txt", "test.txt", map[string]struct{}{"test.log": {}}},
		{"test.txt", "test_1.txt", map[string]struct{}{"test.txt": {}}},
		{"test.txt", "test_2.txt", map[string]struct{}{"test.txt": {}, "test_1.txt": {}}},
		{"test.txt", "test_1.txt", map[string]struct{}{"test.txt": {}, "test_2.txt": {}}},
	}
	for _, tt := range tests {
		actual := getCollisionlessFilename(tt.originalFilename, tt.existingFiles)
		if actual != tt.expectedNewName {
			t.Errorf("expected %s, actual %s", tt.expectedNewName, actual)
		}
	}
}