Merge pull request #3825 from thaJeztah/noregexp
util/ocilayout: replace regex for matching windows drive-letters
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package ocilayout
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/distribution/reference"
|
||||
@@ -60,8 +59,13 @@ func (r Ref) String() string {
|
||||
return s
|
||||
}
|
||||
|
||||
var windowsDrivePath = regexp.MustCompile(`^[A-Za-z]:[\\/]`)
|
||||
|
||||
func isWindowsDrivePath(path string, colon int) bool {
|
||||
return colon == 1 && windowsDrivePath.MatchString(path)
|
||||
if colon != 1 || len(path) < 3 {
|
||||
return false
|
||||
}
|
||||
if path[2] != '/' && path[2] != '\\' {
|
||||
return false
|
||||
}
|
||||
c := path[0]
|
||||
return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')
|
||||
}
|
||||
|
||||
@@ -72,12 +72,14 @@ func TestParse(t *testing.T) {
|
||||
dgst: "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
||||
},
|
||||
} {
|
||||
ref, ok, err := Parse(tt.s)
|
||||
require.True(t, ok)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, tt.path, ref.Path, "comparing path: %s", tt.s)
|
||||
assert.Equal(t, tt.dgst, ref.Digest.String(), "comparing digest: %s", tt.s)
|
||||
assert.Equal(t, tt.tag, ref.Tag, "comparing tag: %s", tt.s)
|
||||
t.Run(tt.s, func(t *testing.T) {
|
||||
ref, ok, err := Parse(tt.s)
|
||||
require.True(t, ok)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, tt.path, ref.Path, "comparing path: %s", tt.s)
|
||||
assert.Equal(t, tt.dgst, ref.Digest.String(), "comparing digest: %s", tt.s)
|
||||
assert.Equal(t, tt.tag, ref.Tag, "comparing tag: %s", tt.s)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user