@@ -275,10 +275,32 @@ func TestGenericSublistSingleFilter(t *testing.T) {
275275 require_True (t , ok )
276276 require_Equal (t , filter , "stream.A.child" )
277277
278+ require_NoError (t , s .Insert ("stream.A.other" , 22 ))
279+ filter , ok = s .MatchesSingleFilter ()
280+ require_False (t , ok )
281+ require_Equal (t , filter , _EMPTY_ )
282+
278283 require_NoError (t , s .Insert ("stream.*" , 33 ))
279284 filter , ok = s .MatchesSingleFilter ()
280285 require_False (t , ok )
281286 require_Equal (t , filter , _EMPTY_ )
287+
288+ // Test that an ancestor with descendants correctly returns false.
289+ s2 := NewSublist [int ]()
290+ require_NoError (t , s2 .Insert ("foo" , 1 ))
291+ require_NoError (t , s2 .Insert ("foo.bar" , 2 ))
292+ require_NoError (t , s2 .Insert ("foo.baz" , 3 ))
293+ filter , ok = s2 .MatchesSingleFilter ()
294+ require_False (t , ok )
295+ require_Equal (t , filter , _EMPTY_ )
296+
297+ // Test that an ancestor with only descendants correctly returns false.
298+ s3 := NewSublist [int ]()
299+ require_NoError (t , s3 .Insert ("foo.bar" , 2 ))
300+ require_NoError (t , s3 .Insert ("foo.baz" , 3 ))
301+ filter , ok = s3 .MatchesSingleFilter ()
302+ require_False (t , ok )
303+ require_Equal (t , filter , _EMPTY_ )
282304}
283305
284306// TestGenericSublistHasInterestStartingInRace tests that HasInterestStartingIn
0 commit comments