diff --git a/utils/rsrfield.go b/utils/rsrfield.go index c91f6ae1d..488e1131d 100644 --- a/utils/rsrfield.go +++ b/utils/rsrfield.go @@ -89,9 +89,6 @@ func (rsrf *RSRField) ParseValue(value string) string { if len(rsrf.staticValue) != 0 { // Enforce parsing of static values return rsrf.staticValue } - if len(value) == 0 { - return value - } for _, rsRule := range rsrf.RSRules { if rsRule != nil { value = rsRule.Process(value) diff --git a/utils/rsrfield_test.go b/utils/rsrfield_test.go index 3fbdabe95..dc9eaccad 100644 --- a/utils/rsrfield_test.go +++ b/utils/rsrfield_test.go @@ -195,4 +195,14 @@ func TestFilterPasses(t *testing.T) { if rl.FilterPasses("0031ABOC0630415354") { t.Error("Passing filter") } + rl, err = NewRSRField(`~1:s/^$/_empty_/(_empty_)`) + if err != nil { + t.Error("Unexpected error: ", err) + } + if !rl.FilterPasses("") { + t.Error("Not passing filter") + } + if rl.FilterPasses("Non empty") { + t.Error("Passing filter") + } }