Use Intl.Segmenter when available for identifying words to spell check (#21225)

GitOrigin-RevId: f261ae331e0b1f87f4e88a512b25c8798f0b02c6
This commit is contained in:
Alf Eaton
2024-10-22 08:06:25 +00:00
committed by Copybot
parent 04dbb7d2f2
commit 6c4fac68ca
2 changed files with 70 additions and 27 deletions
@@ -26,7 +26,7 @@ describe('SpellChecker', function () {
extensions,
})
const line = view.state.doc.line(1)
const words = getWordsFromLine(view, line, ignoredWords, lang)
const words = Array.from(getWordsFromLine(view, line, ignoredWords, lang))
expect(words).to.deep.equal([
{ text: 'Hello', from: 0, to: 5, lineNumber: 1, lang: 'en' },
{ text: 'test', from: 6, to: 10, lineNumber: 1, lang: 'en' },
@@ -42,7 +42,7 @@ describe('SpellChecker', function () {
extensions,
})
const line = view.state.doc.line(1)
const words = getWordsFromLine(view, line, ignoredWords, lang)
const words = Array.from(getWordsFromLine(view, line, ignoredWords, lang))
expect(words).to.deep.equal([
{ text: 'Hello', from: 0, to: 5, lineNumber: 1, lang: 'en' },
{ text: 'one', from: 11, to: 14, lineNumber: 1, lang: 'en' },
@@ -56,7 +56,7 @@ describe('SpellChecker', function () {
extensions,
})
const line = view.state.doc.line(1)
const words = getWordsFromLine(view, line, ignoredWords, lang)
const words = Array.from(getWordsFromLine(view, line, ignoredWords, lang))
expect(words).to.deep.equal([])
})
@@ -66,7 +66,7 @@ describe('SpellChecker', function () {
extensions,
})
const line = view.state.doc.line(1)
const words = getWordsFromLine(view, line, ignoredWords, lang)
const words = Array.from(getWordsFromLine(view, line, ignoredWords, lang))
expect(words).to.deep.equal([
{ text: 'seven', from: 24, to: 29, lineNumber: 1, lang: 'en' },
{ text: 'eight', from: 30, to: 35, lineNumber: 1, lang: 'en' },
@@ -79,7 +79,7 @@ describe('SpellChecker', function () {
extensions,
})
const line = view.state.doc.line(1)
const words = getWordsFromLine(view, line, ignoredWords, lang)
const words = Array.from(getWordsFromLine(view, line, ignoredWords, lang))
expect(words).to.deep.equal([
{ text: 'nine', from: 5, to: 9, lineNumber: 1, lang: 'en' },
{ text: 'ten', from: 15, to: 18, lineNumber: 1, lang: 'en' },