summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-12-11 23:18:45 +0200
committerPaul Buetow <paul@buetow.org>2024-12-11 23:18:45 +0200
commit8234bea43ea313cbee8b12c38e6d0e22795c107e (patch)
tree2f8b590c1f098123be10d8e4a654bd13ee58cf8e
parent121d2877cc7ed0aaf0bbe5c57b86abba982b0441 (diff)
Add entry name
-rw-r--r--internal/entry/entry.go2
-rw-r--r--internal/entry/entry_test.go20
2 files changed, 21 insertions, 1 deletions
diff --git a/internal/entry/entry.go b/internal/entry/entry.go
index b866a19..6e8b64c 100644
--- a/internal/entry/entry.go
+++ b/internal/entry/entry.go
@@ -111,7 +111,7 @@ func (en *Entry) Name() string {
base := filepath.Base(en.Path)
parts := strings.Split(base, ".")
- offset := len(parts) - 1
+ offset := len(parts)
switch en.State {
case Queued:
diff --git a/internal/entry/entry_test.go b/internal/entry/entry_test.go
index f9df524..1d6cde3 100644
--- a/internal/entry/entry_test.go
+++ b/internal/entry/entry_test.go
@@ -40,6 +40,26 @@ func TestEntry(t *testing.T) {
}
}
+func TestEntryName(t *testing.T) {
+ table := map[string]string{
+ "/foo/bar/baz.txt": "baz.txt",
+ "/foo/bar/baz.foo.txt": "baz.foo.txt",
+ "/foo/bar/baz.foo.txt.20250101-010101.posted": "baz.foo.txt",
+ "/foo/bar/baz.foo.txt.20250101-010101.queued": "baz.foo.txt",
+ }
+
+ for path, expectedName := range table {
+ en, err := New(path)
+ if err != nil {
+ t.Error(err)
+ }
+ if en.Name() != expectedName {
+ t.Errorf("expected entry name '%s' but got '%s' for path '%s'",
+ expectedName, en.Name(), path)
+ }
+ }
+}
+
func TestEntryTags(t *testing.T) {
tagss := []string{"prio", "share:linkedin:mastodon.now", "share:-mastodon", "ask", "invalid"}