mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 09:22:44 +00:00
Merge pull request #15029 from caesarxuchao/fix-14622
fix label selector parser in case no value (or only whitespaces) is specified after the key
This commit is contained in:
commit
0920a979c7
@ -600,7 +600,12 @@ func (p *Parser) parseIdentifiersList() (sets.String, error) {
|
|||||||
// parseExactValue parses the only value for exact match style
|
// parseExactValue parses the only value for exact match style
|
||||||
func (p *Parser) parseExactValue() (sets.String, error) {
|
func (p *Parser) parseExactValue() (sets.String, error) {
|
||||||
s := sets.NewString()
|
s := sets.NewString()
|
||||||
tok, lit := p.consume(Values)
|
tok, lit := p.lookahead(Values)
|
||||||
|
if tok == EndOfStringToken || tok == CommaToken {
|
||||||
|
s.Insert("")
|
||||||
|
return s, nil
|
||||||
|
}
|
||||||
|
tok, lit = p.consume(Values)
|
||||||
if tok == IdentifierToken {
|
if tok == IdentifierToken {
|
||||||
s.Insert(lit)
|
s.Insert(lit)
|
||||||
return s, nil
|
return s, nil
|
||||||
|
@ -29,6 +29,10 @@ func TestSelectorParse(t *testing.T) {
|
|||||||
"x=a,y=b,z=c",
|
"x=a,y=b,z=c",
|
||||||
"",
|
"",
|
||||||
"x!=a,y=b",
|
"x!=a,y=b",
|
||||||
|
"x=",
|
||||||
|
"x= ",
|
||||||
|
"x=,z= ",
|
||||||
|
"x= ,z= ",
|
||||||
}
|
}
|
||||||
testBadStrings := []string{
|
testBadStrings := []string{
|
||||||
"x=a||y=b",
|
"x=a||y=b",
|
||||||
@ -39,7 +43,7 @@ func TestSelectorParse(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("%v: error %v (%#v)\n", test, err, err)
|
t.Errorf("%v: error %v (%#v)\n", test, err, err)
|
||||||
}
|
}
|
||||||
if test != lq.String() {
|
if strings.Replace(test, " ", "", -1) != lq.String() {
|
||||||
t.Errorf("%v restring gave: %v\n", test, lq.String())
|
t.Errorf("%v restring gave: %v\n", test, lq.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user