wiki.techinc.nl/tests/qunit/resources/jquery.highlightText.test.js
Ed Sanders 4b9ccab9b9 ESLint: Enforce prefer-arrow-callback and autofix
Change-Id: Iddfa574e42e569ac5e2a2b098ad2f11ca80c5955
2024-06-11 19:03:54 +01:00

203 lines
6.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

QUnit.module( 'jquery.highlightText', () => {
QUnit.test.each( 'highlightText()', [
{
text: 'Blue Öyster Cult',
highlight: 'Blue',
expected: '<span class="highlight">Blue</span> Öyster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: 'Blue ',
expected: '<span class="highlight">Blue</span> Öyster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: 'Blue Ö',
expected: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: 'Blue Öy',
expected: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: ' Blue',
expected: '<span class="highlight">Blue</span> Öyster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: ' Blue ',
expected: '<span class="highlight">Blue</span> Öyster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: ' Blue Ö',
expected: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
},
{
text: 'Blue Öyster Cult',
highlight: ' Blue Öy',
expected: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
},
// Highlighter on starting Umlaut
{
text: 'Österreich',
highlight: 'Österreich',
expected: '<span class="highlight">Österreich</span>'
},
{
text: 'Österreich',
highlight: 'Ö',
expected: '<span class="highlight">Ö</span>sterreich'
},
{
text: 'Österreich',
highlight: 'Öst',
expected: '<span class="highlight">Öst</span>erreich'
},
{
text: 'Österreich',
highlight: 'Oe',
expected: 'Österreich'
},
{
text: 'So good. To be there',
highlight: 'good',
expected: 'So <span class="highlight">good</span>. To be there'
},
// Highlighter on space
{
text: 'So good. To be there',
highlight: 'be',
expected: 'So good. To <span class="highlight">be</span> there'
},
{
text: 'So good. To be there',
highlight: ' be',
expected: 'So good. To <span class="highlight">be</span> there'
},
{
text: 'So good. To be there',
highlight: 'be ',
expected: 'So good. To <span class="highlight">be</span> there'
},
{
text: 'So good. To be there',
highlight: ' be ',
expected: 'So good. To <span class="highlight">be</span> there'
},
// Highlighter with special character at the end
{
text: 'So good. xbß',
highlight: 'xbß',
expected: 'So good. <span class="highlight">xbß</span>'
},
{
text: 'So good. xbß.',
highlight: 'xbß.',
expected: 'So good. <span class="highlight">xbß.</span>'
},
{
text: 'חסיד אומות העולם',
highlight: 'חסיד אומות העולם',
expected: '<span class="highlight">חסיד</span> <span class="highlight">אומות</span> <span class="highlight">העולם</span>'
},
{
text: 'חסיד אומות העולם',
highlight: 'חסי',
expected: '<span class="highlight">חסי</span>ד אומות העולם'
},
// Japanese (ja)
{
text: '諸国民の中の正義の人',
highlight: '諸国民の中の正義の人',
expected: '<span class="highlight">諸国民の中の正義の人</span>'
},
{
text: '諸国民の中の正義の人',
highlight: '諸国',
expected: '<span class="highlight">諸国</span>民の中の正義の人'
},
// French (fr) text and french guillemets quotes
{
text: '« L\'oiseau est sur lîle »',
highlight: '« L\'oiseau est sur lîle »',
expected: '<span class="highlight">«</span> <span class="highlight">L\'oiseau</span> <span class="highlight">est</span> <span class="highlight">sur</span> <span class="highlight">lîle</span> <span class="highlight">»</span>'
},
{
text: '« L\'oiseau est sur lîle »',
highlight: '« L\'oise',
expected: '<span class="highlight">«</span> <span class="highlight">L\'oise</span>au est sur lîle »'
},
{
// does it match the single strings "«" and "L" separately?
text: '« L\'oiseau est sur lîle »',
highlight: '« L',
expected: '<span class="highlight">«</span> <span class="highlight">L</span>\'oiseau est sur <span class="highlight">l</span>île »'
},
// Russian (ru)
{
text: 'Праведники мира',
highlight: 'Праведники мира',
expected: '<span class="highlight">Праведники</span> <span class="highlight">мира</span>'
},
{
text: 'Праведники мира',
highlight: 'Праве',
expected: '<span class="highlight">Праве</span>дники мира'
},
// Georgian (ka)
{
text: 'მთავარი გვერდი',
highlight: 'მთავარი გვერდი',
expected: '<span class="highlight">მთავარი</span> <span class="highlight">გვერდი</span>'
},
{
text: 'მთავარი გვერდი',
highlight: 'მთა',
expected: '<span class="highlight">მთა</span>ვარი გვერდი'
},
// Armenian (hy)
{
text: 'Նոնա Գափրինդաշվիլի',
highlight: 'Նոնա Գափրինդաշվիլի',
expected: '<span class="highlight">Նոնա</span> <span class="highlight">Գափրինդաշվիլի</span>'
},
{
text: 'Նոնա Գափրինդաշվիլի',
highlight: 'Նոն',
expected: '<span class="highlight">Նոն</span>ա Գափրինդաշվիլի'
},
// Thai (th)
{
text: 'พอล แอร์ดิช',
highlight: 'พอล แอร์ดิช',
expected: '<span class="highlight">พอล</span> <span class="highlight">แอร์ดิช</span>'
},
{
text: 'พอล แอร์ดิช',
highlight: 'พอ',
expected: '<span class="highlight">พอ</span>ล แอร์ดิช'
},
// RTL: Arabic (ar)
{
text: 'بول إيردوس',
highlight: 'بول إيردوس',
expected: '<span class="highlight">بول</span> <span class="highlight">إيردوس</span>'
},
{
text: 'بول إيردوس',
highlight: 'بو',
expected: '<span class="highlight">بو</span>ل إيردوس'
}
], ( assert, item ) => {
const $fixture = $( '<p>' ).text( item.text ).highlightText( item.highlight );
assert.strictEqual(
$fixture.html(),
// Re-parse to normalize
$( '<p>' ).html( item.expected ).html()
);
} );
} );