diff --git a/internal/form/photo_search_test.go b/internal/form/photo_search_test.go index 6ae148947..904e8cfb0 100644 --- a/internal/form/photo_search_test.go +++ b/internal/form/photo_search_test.go @@ -61,7 +61,7 @@ func TestParseQueryString(t *testing.T) { assert.Equal(t, float32(33.45343), form.Lat) }) t.Run("valid query 2", func(t *testing.T) { - form := &PhotoSearch{Query: "chroma:200 title:\"test\" after:2018-01-15 favorite:true lng:33.45343166666667"} + form := &PhotoSearch{Query: "chroma:200 title:\"te:st\" after:2018-01-15 favorite:true lng:33.45343166666667"} err := form.ParseQueryString() @@ -72,7 +72,7 @@ func TestParseQueryString(t *testing.T) { } assert.Equal(t, uint8(200), form.Chroma) - assert.Equal(t, "test", form.Title) + assert.Equal(t, "te:st", form.Title) assert.Equal(t, time.Date(2018, 01, 15, 0, 0, 0, 0, time.UTC), form.After) assert.Equal(t, float32(33.45343), form.Lng) }) diff --git a/internal/form/serialize.go b/internal/form/serialize.go index a317500bb..e4ba9763c 100644 --- a/internal/form/serialize.go +++ b/internal/form/serialize.go @@ -139,7 +139,7 @@ func Unserialize(f SearchForm, q string) (result error) { isKeyValue = false key = key[:0] value = value[:0] - } else if char == ':' { + } else if char == ':' && !escaped { isKeyValue = true } else if char == '"' { escaped = !escaped