@@ -175,4 +175,29 @@ public static void ReplaceEach(string input, string search, string replace, stri
175175 Assert . Equal ( expected , result ) ;
176176 }
177177
178+ [ Theory ]
179+ [ InlineData ( "Hello, world!" , "world" , 0 , StringComparison . Ordinal , 7 ) ]
180+ [ InlineData ( "Hello, world!" , "WORLD" , 0 , StringComparison . Ordinal , - 1 ) ]
181+ [ InlineData ( "Hello, world!" , "WORLD" , 0 , StringComparison . OrdinalIgnoreCase , 7 ) ]
182+ [ InlineData ( "abcdefg" , "cde" , 0 , StringComparison . Ordinal , 2 ) ]
183+ [ InlineData ( "abcdefg" , "CDE" , 0 , StringComparison . Ordinal , - 1 ) ]
184+ [ InlineData ( "abcdefg" , "CDE" , 0 , StringComparison . OrdinalIgnoreCase , 2 ) ]
185+ [ InlineData ( "Hello, world! world!" , "world" , 8 , StringComparison . Ordinal , 14 ) ]
186+ [ InlineData ( "Hello, world! world!" , "WORLD" , 8 , StringComparison . Ordinal , - 1 ) ]
187+ [ InlineData ( "Hello, world! world!" , "WORLD" , 8 , StringComparison . OrdinalIgnoreCase , 14 ) ]
188+ public static void IndexOf_FindsSubstringWithCaseVariations (
189+ string input ,
190+ string value ,
191+ int startIndex ,
192+ StringComparison comparisonType ,
193+ int expectedResult )
194+ {
195+ StringSegment segment = input ;
196+ StringSegment valueSegment = value ;
197+
198+ int result = segment . IndexOf ( valueSegment , startIndex , comparisonType ) ;
199+ Assert . Equal ( expectedResult , result ) ;
200+ result = segment . IndexOf ( valueSegment . AsSpan ( ) , startIndex , comparisonType ) ;
201+ Assert . Equal ( expectedResult , result ) ;
202+ }
178203}
0 commit comments