|
|
|
@ -12,14 +12,17 @@ func TestExtractFilenames(t *testing.T) { |
|
|
|
// Unix style paths
|
|
|
|
input := ` some preamble |
|
|
|
./relative\ path/one.png inbetween1 ./not a valid two.jpg inbetween2 ./1.svg |
|
|
|
/unescaped space /three.jpeg inbetween3 /valid\ path/dir/four.png "./quoted with spaces/five.JPG` |
|
|
|
/unescaped space /three.jpeg inbetween3 /valid\ path/dir/four.png "./quoted with spaces/five.JPG |
|
|
|
/unescaped space /six.webp inbetween6 /valid\ path/dir/seven.WEBP` |
|
|
|
res := extractFileNames(input) |
|
|
|
assert.Len(t, res, 5) |
|
|
|
assert.Len(t, res, 7) |
|
|
|
assert.Contains(t, res[0], "one.png") |
|
|
|
assert.Contains(t, res[1], "two.jpg") |
|
|
|
assert.Contains(t, res[2], "three.jpeg") |
|
|
|
assert.Contains(t, res[3], "four.png") |
|
|
|
assert.Contains(t, res[4], "five.JPG") |
|
|
|
assert.Contains(t, res[5], "six.webp") |
|
|
|
assert.Contains(t, res[6], "seven.WEBP") |
|
|
|
assert.NotContains(t, res[4], '"') |
|
|
|
assert.NotContains(t, res, "inbetween1") |
|
|
|
assert.NotContains(t, res, "./1.svg") |
|
|
|
@ -30,10 +33,12 @@ func TestExtractFilenames(t *testing.T) { |
|
|
|
/absolute/nospace/three.jpeg inbetween3 /absolute/with space/four.png inbetween4 |
|
|
|
./relative\ path/five.JPG inbetween5 "./relative with/spaces/six.png inbetween6 |
|
|
|
d:\path with\spaces\seven.JPEG inbetween7 c:\users\jdoe\eight.png inbetween8 |
|
|
|
d:\program files\someplace\nine.png inbetween9 "E:\program files\someplace\ten.PNG some ending |
|
|
|
d:\program files\someplace\nine.png inbetween9 "E:\program files\someplace\ten.PNG |
|
|
|
c:/users/jdoe/eleven.webp inbetween11 c:/program files/someplace/twelve.WebP inbetween12 |
|
|
|
d:\path with\spaces\thirteen.WEBP some ending |
|
|
|
` |
|
|
|
res = extractFileNames(input) |
|
|
|
assert.Len(t, res, 10) |
|
|
|
assert.Len(t, res, 13) |
|
|
|
assert.NotContains(t, res, "inbetween2") |
|
|
|
assert.Contains(t, res[0], "one.png") |
|
|
|
assert.Contains(t, res[0], "c:") |
|
|
|
@ -51,6 +56,12 @@ d:\path with\spaces\seven.JPEG inbetween7 c:\users\jdoe\eight.png inbetween8 |
|
|
|
assert.Contains(t, res[8], "d:") |
|
|
|
assert.Contains(t, res[9], "ten.PNG") |
|
|
|
assert.Contains(t, res[9], "E:") |
|
|
|
assert.Contains(t, res[10], "eleven.webp") |
|
|
|
assert.Contains(t, res[10], "c:") |
|
|
|
assert.Contains(t, res[11], "twelve.WebP") |
|
|
|
assert.Contains(t, res[11], "c:") |
|
|
|
assert.Contains(t, res[12], "thirteen.WEBP") |
|
|
|
assert.Contains(t, res[12], "d:") |
|
|
|
} |
|
|
|
|
|
|
|
// Ensure that file paths wrapped in single quotes are removed with the quotes.
|
|
|
|
|