aboutsummaryrefslogtreecommitdiff
path: root/internal/plan/index_test.go
blob: b157f56da05d4d4d414cbc6d7ea6300d66bdc5f6 (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
25
26
27
28
// SPDX-License-Identifier: GPL-3.0-or-later

package plan

import (
	"strings"
	"testing"
)

func TestMaxIndex(t *testing.T) {
	for in, want := range map[string]int{
		"Work/Acme":          0,
		"{name}":             0,
		"{1}":                1,
		"Work/{2}/{1}":       2,
		"{stem}-{9}{ext}":    9,
		"{{1}}":              0,
		"{mtime:%Y}/{3}-{1}": 3,
	} {
		got, err := MaxIndex(in)
		if err != nil || got != want {
			t.Errorf("MaxIndex(%q) = %d, %v; want %d", in, got, err, want)
		}
	}
	if _, err := MaxIndex("{name"); err == nil || !strings.Contains(err.Error(), "unclosed placeholder") {
		t.Errorf("unclosed: %v", err)
	}
}