mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-07-16 12:08:04 +00:00
Merge pull request #640 from smira/636-upcase-package-name
Allow uppercase package name in package query expressions
This commit is contained in:
+1
-1
@@ -135,7 +135,7 @@ func (p *parser) D() deb.PackageQuery {
|
|||||||
operator, value := p.Condition()
|
operator, value := p.Condition()
|
||||||
|
|
||||||
r, _ := utf8.DecodeRuneInString(field)
|
r, _ := utf8.DecodeRuneInString(field)
|
||||||
if strings.HasPrefix(field, "$") || unicode.IsUpper(r) {
|
if strings.HasPrefix(field, "$") || (unicode.IsUpper(r) && !strings.ContainsRune(field, '_')) {
|
||||||
// special field or regular field
|
// special field or regular field
|
||||||
q := &deb.FieldQuery{Field: field, Relation: operatorToRelation(operator), Value: value}
|
q := &deb.FieldQuery{Field: field, Relation: operatorToRelation(operator), Value: value}
|
||||||
if q.Relation == deb.VersionRegexp {
|
if q.Relation == deb.VersionRegexp {
|
||||||
|
|||||||
@@ -57,6 +57,18 @@ func (s *SyntaxSuite) TestParsing(c *C) {
|
|||||||
c.Assert(err, IsNil)
|
c.Assert(err, IsNil)
|
||||||
c.Check(q, DeepEquals, &deb.PkgQuery{Pkg: "alien-data", Version: "1.3.4~dev", Arch: "i386"})
|
c.Check(q, DeepEquals, &deb.PkgQuery{Pkg: "alien-data", Version: "1.3.4~dev", Arch: "i386"})
|
||||||
|
|
||||||
|
l, _ = lex("query", "Alien-data_1.3.4~dev_i386")
|
||||||
|
q, err = parse(l)
|
||||||
|
|
||||||
|
c.Assert(err, IsNil)
|
||||||
|
c.Check(q, DeepEquals, &deb.PkgQuery{Pkg: "Alien-data", Version: "1.3.4~dev", Arch: "i386"})
|
||||||
|
|
||||||
|
l, _ = lex("query", "Name")
|
||||||
|
q, err = parse(l)
|
||||||
|
|
||||||
|
c.Assert(err, IsNil)
|
||||||
|
c.Check(q, DeepEquals, &deb.FieldQuery{Field: "Name"})
|
||||||
|
|
||||||
l, _ = lex("query", "package (> 5.3.7) {amd64}")
|
l, _ = lex("query", "package (> 5.3.7) {amd64}")
|
||||||
q, err = parse(l)
|
q, err = parse(l)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user