@@ -417,9 +417,25 @@ static void TestCore(string[] valuesArray)
417
417
Values_ImplementsSearchValuesBase ( StringComparison . OrdinalIgnoreCase , valuesArray ) ;
418
418
419
419
string values = string . Join ( ", " , valuesArray ) ;
420
+ string text = valuesArray [ 0 ] ;
420
421
421
- IndexOfAny ( StringComparison . Ordinal , 0 , valuesArray [ 0 ] , values ) ;
422
- IndexOfAny ( StringComparison . OrdinalIgnoreCase , 0 , valuesArray [ 0 ] , values ) ;
422
+ IndexOfAny ( StringComparison . Ordinal , 0 , text , values ) ;
423
+ IndexOfAny ( StringComparison . OrdinalIgnoreCase , 0 , text , values ) ;
424
+
425
+ // Replace every position in the text with a different character.
426
+ foreach ( StringComparison comparisonType in new [ ] { StringComparison . Ordinal , StringComparison . OrdinalIgnoreCase } )
427
+ {
428
+ SearchValues < string > stringValues = SearchValues . Create ( valuesArray , comparisonType ) ;
429
+
430
+ for ( int i = 0 ; i < text . Length - 1 ; i ++ )
431
+ {
432
+ foreach ( char replacement in "AaBb _!\u00F6 " )
433
+ {
434
+ string newText = $ "{ text . AsSpan ( 0 , i ) } { replacement } { text . AsSpan ( i + 1 ) } ";
435
+ Assert . Equal ( IndexOfAnyReferenceImpl ( newText , valuesArray , comparisonType ) , newText . IndexOfAny ( stringValues ) ) ;
436
+ }
437
+ }
438
+ }
423
439
}
424
440
}
425
441
0 commit comments