1package chezmoi 2 3import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7) 8 9func TestNormalizeLinkname(t *testing.T) { 10 for _, tc := range []struct { 11 linkname string 12 expected string 13 }{ 14 { 15 linkname: "rel", 16 expected: "rel", 17 }, 18 { 19 linkname: "rel/forward", 20 expected: "rel/forward", 21 }, 22 { 23 linkname: "rel\\backward", 24 expected: "rel/backward", 25 }, 26 { 27 linkname: "rel/forward\\backward", 28 expected: "rel/forward/backward", 29 }, 30 { 31 linkname: "/abs/forward", 32 expected: "/abs/forward", 33 }, 34 { 35 linkname: "\\abs\\backward", 36 expected: "/abs/backward", 37 }, 38 { 39 linkname: "/abs/forward\\backward", 40 expected: "/abs/forward/backward", 41 }, 42 { 43 linkname: "c:/abs/forward", 44 expected: "C:/abs/forward", 45 }, 46 { 47 linkname: "c:\\abs\\backward", 48 expected: "C:/abs/backward", 49 }, 50 { 51 linkname: "c:/abs/forward\\backward", 52 expected: "C:/abs/forward/backward", 53 }, 54 } { 55 t.Run(tc.linkname, func(t *testing.T) { 56 assert.Equal(t, tc.expected, normalizeLinkname(tc.linkname)) 57 }) 58 } 59} 60