Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 7bc7220

Browse files
author
Chris Yang
committed
add tests
1 parent 4e29778 commit 7bc7220

1 file changed

Lines changed: 28 additions & 5 deletions

File tree

shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPluginTest.mm

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -161,11 +161,11 @@ - (void)testFindAllSpellCheckSuggestionsForText {
161161
XCTAssertTrue(capturedResult.count == 2);
162162
NSDictionary* suggestionsJSON1 = capturedResult.firstObject;
163163
XCTAssertEqualObjects(suggestionsJSON1[@"startIndex"], @0);
164-
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @4);
164+
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @5);
165165
XCTAssertEqualObjects(suggestionsJSON1[@"suggestions"], suggestions1);
166166
NSDictionary* suggestionsJSON2 = capturedResult[1];
167167
XCTAssertEqualObjects(suggestionsJSON2[@"startIndex"], @5);
168-
XCTAssertEqualObjects(suggestionsJSON2[@"endIndex"], @9);
168+
XCTAssertEqualObjects(suggestionsJSON2[@"endIndex"], @10);
169169
XCTAssertEqualObjects(suggestionsJSON2[@"suggestions"], suggestions2);
170170
[self.mockTextChecker reset];
171171
[textCheckerClassMock stopMocking];
@@ -198,11 +198,11 @@ - (void)testStopFindingMoreWhenTheLastWordIsMisspelled {
198198
XCTAssertTrue(capturedResult.count == 2);
199199
NSDictionary* suggestionsJSON1 = capturedResult.firstObject;
200200
XCTAssertEqualObjects(suggestionsJSON1[@"startIndex"], @0);
201-
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @4);
201+
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @5);
202202
XCTAssertEqualObjects(suggestionsJSON1[@"suggestions"], suggestions1);
203203
NSDictionary* suggestionsJSON2 = capturedResult[1];
204204
XCTAssertEqualObjects(suggestionsJSON2[@"startIndex"], @6);
205-
XCTAssertEqualObjects(suggestionsJSON2[@"endIndex"], @9);
205+
XCTAssertEqualObjects(suggestionsJSON2[@"endIndex"], @10);
206206
XCTAssertEqualObjects(suggestionsJSON2[@"suggestions"], suggestions2);
207207
[self.mockTextChecker reset];
208208
[textCheckerClassMock stopMocking];
@@ -228,7 +228,7 @@ - (void)testStopFindingMoreWhenTheWholeStringIsAMisspelledWord {
228228
XCTAssertTrue(capturedResult.count == 1);
229229
NSDictionary* suggestionsJSON1 = capturedResult.firstObject;
230230
XCTAssertEqualObjects(suggestionsJSON1[@"startIndex"], @0);
231-
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @4);
231+
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @5);
232232
XCTAssertEqualObjects(suggestionsJSON1[@"suggestions"], suggestions1);
233233
[self.mockTextChecker reset];
234234
[textCheckerClassMock stopMocking];
@@ -270,6 +270,29 @@ - (void)testUnsupportedLanguageShouldReturnNil {
270270
[textCheckerClassMock stopMocking];
271271
}
272272

273+
- (void)testSupportSubLanguage {
274+
self.partialMockPlugin = OCMPartialMock(self.plugin);
275+
OCMStub([self.partialMockPlugin textChecker]).andReturn(self.mockTextChecker);
276+
id textCheckerClassMock = OCMClassMock([UITextChecker class]);
277+
[[[textCheckerClassMock stub] andReturn:@[ @"en_us" ]] availableLanguages];
278+
NSArray* suggestions1 = @[ @"suggestion 1", @"suggestion 2" ];
279+
280+
[self mockUITextCheckerWithExpectedMisspelledWordRange:NSMakeRange(0, 5)
281+
startingIndex:0
282+
suggestions:suggestions1];
283+
__block NSArray* capturedResult;
284+
[self.mockMethodChannel invokeMethod:@"SpellCheck.initiateSpellCheck"
285+
arguments:@[ @"en-us", @"hejjo" ]
286+
result:^(id _Nullable result) {
287+
capturedResult = result;
288+
}];
289+
NSDictionary* suggestionsJSON1 = capturedResult.firstObject;
290+
XCTAssertEqualObjects(suggestionsJSON1[@"startIndex"], @0);
291+
XCTAssertEqualObjects(suggestionsJSON1[@"endIndex"], @5);
292+
XCTAssertEqualObjects(suggestionsJSON1[@"suggestions"], suggestions1);
293+
[textCheckerClassMock stopMocking];
294+
}
295+
273296
- (void)testEmptyStringShouldReturnEmptyResults {
274297
self.partialMockPlugin = OCMPartialMock(self.plugin);
275298
OCMStub([self.partialMockPlugin textChecker]).andReturn(self.mockTextChecker);

0 commit comments

Comments
 (0)