|
|
@@ -66,6 +66,22 @@ void main() {
|
|
|
expect(result.allHits[0].endIndex, 11);
|
|
|
});
|
|
|
|
|
|
+ test('Wide character search works', () {
|
|
|
+ final fixture = _TestFixture();
|
|
|
+ fixture.expectTerminalSearchContent(['🍏🍎🍐🍊🍋🍌🍉🍇🍓🫐🍈🍒🍑']);
|
|
|
+ final task = fixture.uut.createSearchTask('testsearch');
|
|
|
+ task.isActive = true;
|
|
|
+ task.pattern = '🍋';
|
|
|
+ task.options = TerminalSearchOptions(
|
|
|
+ caseSensitive: false, matchWholeWord: false, useRegex: false);
|
|
|
+ final result = task.searchResult;
|
|
|
+ expect(result.allHits.length, 1);
|
|
|
+ expect(result.allHits[0].startLineIndex, 0);
|
|
|
+ expect(result.allHits[0].startIndex, 8);
|
|
|
+ expect(result.allHits[0].endLineIndex, 0);
|
|
|
+ expect(result.allHits[0].endIndex, 10);
|
|
|
+ });
|
|
|
+
|
|
|
test('Finding strings directly on line break works', () {
|
|
|
final fixture = _TestFixture();
|
|
|
fixture.expectTerminalSearchContent([
|