Tests find for strings with Russian letters й and ё in them.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Exact matches first as a baseline

PASS canFind(decomposedCyrillicShortI, decomposedCyrillicShortI) is true
PASS canFind(decomposedCyrillicSmallShortI, decomposedCyrillicSmallShortI) is true
PASS canFind(letterCyrillicShortI, letterCyrillicShortI) is true
PASS canFind(letterCyrillicSmallShortI, letterCyrillicSmallShortI) is true
PASS canFind("й", "йод") is true
PASS canFind("ё", "мумиё") is true

Composed and decomposed forms: Must be treated as equal

PASS canFind(decomposedCyrillicYO, decomposedCyrillicYO) is true
PASS canFind(decomposedCyrillicSmallYO, decomposedCyrillicSmallYO) is true
PASS canFind(letterCyrillicShortI, decomposedCyrillicShortI) is true
PASS canFind(letterCyrillicSmallShortI, decomposedCyrillicSmallShortI) is true
PASS canFind(letterCyrillicYO, decomposedCyrillicYO) is true
PASS canFind(letterCyrillicSmallYO, decomposedCyrillicSmallYO) is true
PASS canFind(decomposedCyrillicShortI, letterCyrillicShortI) is true
PASS canFind(decomposedCyrillicSmallShortI, letterCyrillicSmallShortI) is true
PASS canFind(decomposedCyrillicYO, letterCyrillicYO) is true
PASS canFind(decomposedCyrillicSmallYO, letterCyrillicSmallYO) is true

Small and capital letters: Must be treated as equal

PASS canFind(letterCyrillicSmallI, letterCyrillicI) is true
PASS canFind(letterCyrillicSmallYO, letterCyrillicYO) is true
PASS canFind(letterCyrillicI, letterCyrillicSmallI) is true
PASS canFind(letterCyrillicYO, letterCyrillicSmallYO) is true
PASS canFind(decomposedCyrillicSmallShortI, letterCyrillicI) is true
PASS canFind(decomposedCyrillicSmallYO, letterCyrillicYO) is true
PASS canFind(decomposedCyrillicShortI, letterCyrillicSmallI) is true
PASS canFind(decomposedCyrillicYO, letterCyrillicSmallYO) is true
PASS canFind(letterCyrillicSmallI + letterCyrillicSmallYO, letterCyrillicSmallI + letterCyrillicYO) is true
PASS canFind("й", "Йод") is true
PASS canFind("ё", "МУМИЁ") is true
PASS canFind("Й", "йод") is true
PASS canFind("Ё", "мумиё") is true

Е and Ё: Must be treated as equal

PASS canFind("мумие", "мумиё") is true
PASS canFind("МУМИЕ", "МУМИЁ") is true
PASS canFind("мумиё", "мумие") is true
PASS canFind("МУМИЁ", "МУМИЕ") is true

Й and и: Must *not* be treated as equal

PASS canFind("зайка", "заика") is false
FAIL canFind("заика", "зайка") should be false. Was true.

PASS successfullyParsed is true

TEST COMPLETE

