1package syntax
2
3import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7)
8
9func TestRepoPath(t *testing.T) {
10 assert := assert.New(t)
11
12 testValid := [][]string{
13 {"app.bsky.feed.post/asdf", "app.bsky.feed.post", "asdf"},
14 }
15
16 testErr := []string{
17 "",
18 "/",
19 "/app.bsky.feed.post/asdf",
20 "/asdf",
21 "./app.bsky.feed.post",
22 "blob/asdf",
23 "app.bsky.feed.post/",
24 "app.bsky.feed.post/.",
25 "app.bsky.feed.post/!",
26 }
27
28 for _, parts := range testValid {
29 nsid, rkey, err := ParseRepoPath(parts[0])
30 assert.NoError(err)
31 assert.Equal(parts[1], nsid.String())
32 assert.Equal(parts[2], rkey.String())
33 }
34
35 for _, raw := range testErr {
36 nsid, rkey, err := ParseRepoPath(raw)
37 assert.Error(err)
38 assert.Equal("", nsid.String())
39 assert.Equal("", rkey.String())
40 }
41}