وحدة:string/isutf8/testcases
المظهر
< وحدة:string | isutf8
local tests = require("Module:UnitTests")
local isutf8 = require("Module:string/isutf8")
function tests:check_isutf8(str, expected)
tests:equals(str, isutf8(str), expected)
end
function tests:test_gcd()
local examples = {
{"κόσμε", true},
{"\000", true},
{" ", true},
{"\194\128", true},
{"ࠀ", true},
{"𐀀", true},
{"\248\136\128\128\128", false},
{"\252\132\128\128\128\128", false},
{"\127", true},
{"߿", true},
{"\239\191\191", true},
{"\247\191\191\191", false},
{"\251\191\191\191\191", false},
{"\253\191\191\191\191\191", false},
{"\237\159\191", true},
{"\238\128\128", true},
{"\239\191\189", true},
{"\244\143\191\191", true},
{"\244\144\128\128", false},
{"\128", false},
{"\191", false},
{"\128\191", false},
{"\128\191\128", false},
{"\128\191\128\191", false},
{"\128\191\128\191\128", false},
{"\128\191\128\191\128\191", false},
{"\128\191\128\191\128\191\128", false},
{"\128\129\130\131\132\133\134\135\136\137\138\139\140\141\142\143\144\145\146\147\148\149\150\151\152\153\154\155\156\157\158\159\160\161\162\163\164\165\166\167\168\169\170\171\172\173\174\175\176\177\178\179\180\181\182\183\184\185\186\187\188\189\190\191", false},
{"\192 \193 \194 \195 \196 \197 \198 \199 \200 \201 \202 \203 \204 \205 \206 \207 \208 \209 \210 \211 \212 \213 \214 \215 \216 \217 \218 \219 \220 \221 \222 \223 ", false},
{"\224 \225 \226 \227 \228 \229 \230 \231 \232 \233 \234 \235 \236 \237 \238 \239 ", false},
{"\240 \241 \242 \243 \244 \245 \246 \247 ", false},
{"\248 \249 \250 \251 ", false},
{"\252 \253 ", false},
{"\192", false},
{"\224\128", false},
{"\240\128\128", false},
{"\248\128\128\128", false},
{"\252\128\128\128\128", false},
{"\223", false},
{"\239\191", false},
{"\247\191\191", false},
{"\251\191\191\191", false},
{"\253\191\191\191\191", false},
{"\192\224\128\240\128\128\248\128\128\128\252\128\128\128\128\223\239\191\247\191\191\251\191\191\191\253\191\191\191\191", false},
{"\254", false},
{"\255", false},
{"\254\254\255\255", false},
{"\192\175", false},
{"\224\128\175", false},
{"\240\128\128\175", false},
{"\248\128\128\128\175", false},
{"\252\128\128\128\128\175", false},
{"\193\191", false},
{"\224\159\191", false},
{"\240\143\191\191", false},
{"\248\135\191\191\191", false},
{"\252\131\191\191\191\191", false},
{"\192\128", false},
{"\224\128\128", false},
{"\240\128\128\128", false},
{"\248\128\128\128\128", false},
{"\252\128\128\128\128\128", false},
{"\237\160\128", false},
{"\237\173\191", false},
{"\237\174\128", false},
{"\237\175\191", false},
{"\237\176\128", false},
{"\237\190\128", false},
{"\237\191\191", false},
{"\237\160\128\237\176\128", false},
{"\237\160\128\237\191\191", false},
{"\237\173\191\237\176\128", false},
{"\237\173\191\237\191\191", false},
{"\237\174\128\237\176\128", false},
{"\237\174\128\237\191\191", false},
{"\237\175\191\237\176\128", false},
{"\237\175\191\237\191\191", false},
{"\239\191\190", true},
{"\239\191\191", true},
{"\239\183\144\239\183\145\239\183\146\239\183\147\239\183\148\239\183\149\239\183\150\239\183\151\239\183\152\239\183\153\239\183\154\239\183\155\239\183\156\239\183\157\239\183\158\239\183\159\239\183\160\239\183\161\239\183\162\239\183\163\239\183\164\239\183\165\239\183\166\239\183\167\239\183\168\239\183\169\239\183\170\239\183\171\239\183\172\239\183\173\239\183\174\239\183\175", true},
{"\239\191\190\239\191\191\240\159\191\190\240\159\191\191\240\175\191\190\240\175\191\191\240\191\191\190\240\191\191\191\241\143\191\190\241\143\191\191\241\159\191\190\241\159\191\191\241\175\191\190\241\175\191\191\241\191\191\190\241\191\191\191\242\143\191\190\242\143\191\191\242\159\191\190\242\159\191\191\242\175\191\190\242\175\191\191\242\191\191\190\242\191\191\191\243\143\191\190\243\143\191\191\243\159\191\190\243\159\191\191\243\175\191\190\243\175\191\191\243\191\191\190\243\191\191\191\244\143\191\190\244\143\191\191", true},
}
self:iterate(examples, "check_isutf8")
end
return tests