Module:string/pattern simplifier/testcases
පෙනුම
- පහත දැක්වෙන උපදෙස්, Module:string/pattern simplifier/testcases/documentation හි පිහිටා ඇත. Module:string/pattern simplifier/testcases/documentation]]. [සංස්කරණය] Categories were auto-generated by Module:documentation. [edit]
- ප්රයෝජනවත් සබැඳි: root page • root page’s subpages • සබැඳි • transclusions • tested module • sandbox
All tests passed. (refresh)
| Text | Expected | Actual | Differs at | |
|---|---|---|---|---|
| % | false | false | ||
| %b() | %b() | %b() | ||
| %b() | false | false | ||
| %b() | false | false | ||
| %b() | false | false | ||
| %b()a | %b()a | %b()a | ||
| %b()%a | false | false | ||
| %a | false | false | ||
| %b | %b | %b | ||
| %c | false | false | ||
| %d | false | false | ||
| %e | %e | %e | ||
| %f | %f | %f | ||
| %g | %g | %g | ||
| %h | %h | %h | ||
| %i | %i | %i | ||
| %j | %j | %j | ||
| %k | %k | %k | ||
| %l | false | false | ||
| %m | %m | %m | ||
| %n | %n | %n | ||
| %o | %o | %o | ||
| %p | false | false | ||
| %q | %q | %q | ||
| %r | %r | %r | ||
| %s | false | false | ||
| %t | %t | %t | ||
| %u | false | false | ||
| %v | %v | %v | ||
| %w | false | false | ||
| %x | false | false | ||
| %y | %y | %y | ||
| %z | %z | %z | ||
| %A | false | false | ||
| %B | %B | %B | ||
| %C | false | false | ||
| %D | false | false | ||
| %E | %E | %E | ||
| %F | %F | %F | ||
| %G | %G | %G | ||
| %H | %H | %H | ||
| %I | %I | %I | ||
| %J | %J | %J | ||
| %K | %K | %K | ||
| %L | false | false | ||
| %M | %M | %M | ||
| %N | %N | %N | ||
| %O | %O | %O | ||
| %P | false | false | ||
| %Q | %Q | %Q | ||
| %R | %R | %R | ||
| %S | false | false | ||
| %T | %T | %T | ||
| %U | false | false | ||
| %V | %V | %V | ||
| %W | false | false | ||
| %X | false | false | ||
| %Y | %Y | %Y | ||
| %Z | false | false | ||
| %%a | %%a | %%a | ||
| %%c | %%c | %%c | ||
| %%d | %%d | %%d | ||
| %%l | %%l | %%l | ||
| %%p | %%p | %%p | ||
| %%s | %%s | %%s | ||
| %%u | %%u | %%u | ||
| %%w | %%w | %%w | ||
| %%x | %%x | %%x | ||
| %%A | %%A | %%A | ||
| %%C | %%C | %%C | ||
| %%D | %%D | %%D | ||
| %%L | %%L | %%L | ||
| %%P | %%P | %%P | ||
| %%S | %%S | %%S | ||
| %%U | %%U | %%U | ||
| %%W | %%W | %%W | ||
| %%X | %%X | %%X | ||
| %%Z | %%Z | %%Z | ||
| %%%a | false | false | ||
| %%%c | false | false | ||
| %%%d | false | false | ||
| %%%l | false | false | ||
| %%%p | false | false | ||
| %%%s | false | false | ||
| %%%u | false | false | ||
| %%%w | false | false | ||
| %%%x | false | false | ||
| %%%A | false | false | ||
| %%%C | false | false | ||
| %%%D | false | false | ||
| %%%L | false | false | ||
| %%%P | false | false | ||
| %%%S | false | false | ||
| %%%U | false | false | ||
| %%%W | false | false | ||
| %%%X | false | false | ||
| %%%Z | false | false | ||
| %z%a | false | false | ||
| () | false | false | ||
| %() | %() | %() | ||
| (foo) | (foo) | (foo) | ||
| ((foo)bar) | ((foo)bar) | ((foo)bar) | ||
| ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( ) | ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( ) | ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( ) | ||
| ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( ) | false | false | ||
| ((((((((((((((((((((((((((((((((( | false | false | ||
| ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )%( ) | ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )%( ) | ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )%( ) | ||
| . | [%z�-�-�][�-�]* | [%z�-�-�][�-�]* | ||
| ..... | [%z�-�-�][�-�]*[%z�-�-�][�-�]*[%z�-�-�][�-�]*[%z�-�-�][�-�]*[%z�-�-�][�-�]* | [%z�-�-�][�-�]*[%z�-�-�][�-�]*[%z�-�-�][�-�]*[%z�-�-�][�-�]*[%z�-�-�][�-�]* | ||
| foo.*. | foo.*[%z�-�-�][�-�]* | foo.*[%z�-�-�][�-�]* | ||
| foo.+. | foo.+[%z�-�-�][�-�]* | foo.+[%z�-�-�][�-�]* | ||
| foo.-. | foo.-[%z�-�-�][�-�]* | foo.-[%z�-�-�][�-�]* | ||
| foo.?. | foo[%z�-�-�]?[�-�]*[%z�-�-�][�-�]* | foo[%z�-�-�]?[�-�]*[%z�-�-�][�-�]* | ||
| foo[^a]bar | false | false | ||
| [^] | false | false | ||
| foo%[^a]bar | foo%[^a]bar | foo%[^a]bar | ||
| foo[bar | false | false | ||
| foo[bar]baz | foo[bar]baz | foo[bar]baz | ||
| foo[bar]%a | false | false | ||
| foo[bar%abaz] | false | false | ||
| foo[bar%zbaz] | foo[bar%zbaz] | foo[bar%zbaz] | ||
| foo[barжbaz] | foo[bar�baz]�? | foo[bar�baz]�? | ||
| foo[barЖжbaz] | false | false | ||
| foo[barжѶҶbaz] | foo[bar���baz]�? | foo[bar���baz]�? | ||
| foo[barကbaz] | false | false | ||
| foo[bar𠀀baz] | false | false | ||
| foo[bar]*baz | foo[bar]*baz | foo[bar]*baz | ||
| foo[bar]+baz | foo[bar]+baz | foo[bar]+baz | ||
| foo[bar]-baz | foo[bar]-baz | foo[bar]-baz | ||
| foo[bar]?baz | foo[bar]?baz | foo[bar]?baz | ||
| foo[bar]*%a | false | false | ||
| foo[bar]+%a | false | false | ||
| foo[bar]-%a | false | false | ||
| foo[bar]?%a | false | false | ||
| foo[barжbaz]*baz | false | false | ||
| foo[barжbaz]+baz | false | false | ||
| foo[barжbaz]-baz | false | false | ||
| foo[barжbaz]?baz | foo[bar�baz]?�?baz | foo[bar�baz]?�?baz | ||
| foo[barжbaz]?%a | false | false | ||
| fooжbar | fooжbar | fooжbar | ||
| fooж*bar | foo[ж]*bar | foo[ж]*bar | ||
| fooж+bar | foo[ж]+bar | foo[ж]+bar | ||
| fooж-bar | foo[ж]-bar | foo[ж]-bar | ||
| fooж?bar | foo�?�?bar | foo�?�?bar | ||
| fooж%a | false | false | ||
| fooж*%a | false | false | ||
| fooж+%a | false | false | ||
| fooж-%a | false | false | ||
| fooж?%a | false | false | ||
| fooကbar | fooကbar | fooကbar | ||
| fooက*bar | false | false | ||
| fooက+bar | false | false | ||
| fooက-bar | false | false | ||
| fooက?bar | foo�?�?�?bar | foo�?�?�?bar | ||
| fooက%a | false | false | ||
| fooက?%a | false | false | ||
| foo𠀀bar | foo𠀀bar | foo𠀀bar | ||
| foo𠀀*bar | false | false | ||
| foo𠀀+bar | false | false | ||
| foo𠀀-bar | false | false | ||
| foo𠀀?bar | foo�?�?�?�?bar | foo�?�?�?�?bar | ||
| foo𠀀%a | false | false | ||
| foo𠀀?%a | false | false |
local tests = require("Module:UnitTests")
local ps = require("Module:string/pattern simplifier")
function tests:check_pattern_simplifier(pattern, expected)
tests:equals(pattern, tostring(ps(pattern)), tostring(expected))
end
function tests:test_translit()
-- For languages other than Lisu, language is the third item.
local examples = {
{"", ""},
{"%", false},
{"%b()", "%b()"},
{"%b()", false},
{"%b()", false},
{"%b()", false},
{"%b()a", "%b()a"},
{"%b()%a", false},
{"%a", false},
{"%b", "%b"},
{"%c", false},
{"%d", false},
{"%e", "%e"},
{"%f", "%f"},
{"%g", "%g"},
{"%h", "%h"},
{"%i", "%i"},
{"%j", "%j"},
{"%k", "%k"},
{"%l", false},
{"%m", "%m"},
{"%n", "%n"},
{"%o", "%o"},
{"%p", false},
{"%q", "%q"},
{"%r", "%r"},
{"%s", false},
{"%t", "%t"},
{"%u", false},
{"%v", "%v"},
{"%w", false},
{"%x", false},
{"%y", "%y"},
{"%z", "%z"},
{"%A", false},
{"%B", "%B"},
{"%C", false},
{"%D", false},
{"%E", "%E"},
{"%F", "%F"},
{"%G", "%G"},
{"%H", "%H"},
{"%I", "%I"},
{"%J", "%J"},
{"%K", "%K"},
{"%L", false},
{"%M", "%M"},
{"%N", "%N"},
{"%O", "%O"},
{"%P", false},
{"%Q", "%Q"},
{"%R", "%R"},
{"%S", false},
{"%T", "%T"},
{"%U", false},
{"%V", "%V"},
{"%W", false},
{"%X", false},
{"%Y", "%Y"},
{"%Z", false},
{"%%a", "%%a"},
{"%%c", "%%c"},
{"%%d", "%%d"},
{"%%l", "%%l"},
{"%%p", "%%p"},
{"%%s", "%%s"},
{"%%u", "%%u"},
{"%%w", "%%w"},
{"%%x", "%%x"},
{"%%A", "%%A"},
{"%%C", "%%C"},
{"%%D", "%%D"},
{"%%L", "%%L"},
{"%%P", "%%P"},
{"%%S", "%%S"},
{"%%U", "%%U"},
{"%%W", "%%W"},
{"%%X", "%%X"},
{"%%Z", "%%Z"},
{"%%%a", false},
{"%%%c", false},
{"%%%d", false},
{"%%%l", false},
{"%%%p", false},
{"%%%s", false},
{"%%%u", false},
{"%%%w", false},
{"%%%x", false},
{"%%%A", false},
{"%%%C", false},
{"%%%D", false},
{"%%%L", false},
{"%%%P", false},
{"%%%S", false},
{"%%%U", false},
{"%%%W", false},
{"%%%X", false},
{"%%%Z", false},
{"%z%a", false},
{"()", false},
{"%()", "%()"},
{"(foo)", "(foo)"},
{"((foo)bar)", "((foo)bar)"},
{("( )"):rep(32), ("( )"):rep(32)},
{("( )"):rep(33), false},
{("("):rep(33), false},
{("( )"):rep(32) .. "%( )", ("( )"):rep(32) .. "%( )"},
{".", "[%z\1-\127\194-\244][\128-\191]*"},
{("."):rep(5), ("[%z\1-\127\194-\244][\128-\191]*"):rep(5)},
{"foo.*.", "foo.*[%z\1-\127\194-\244][\128-\191]*"},
{"foo.+.", "foo.+[%z\1-\127\194-\244][\128-\191]*"},
{"foo.-.", "foo.-[%z\1-\127\194-\244][\128-\191]*"},
{"foo.?.", "foo[%z\1-\127\194-\244]?[\128-\191]*[%z\1-\127\194-\244][\128-\191]*"},
{"foo[^a]bar", false},
{"[^]", false},
{"foo%[^a]bar", "foo%[^a]bar"},
{"foo[bar", false},
{"foo[bar]baz", "foo[bar]baz"},
{"foo[bar]%a", false},
{"foo[bar%abaz]", false},
{"foo[bar%zbaz]", "foo[bar%zbaz]"},
{"foo[barжbaz]", "foo[bar\208baz]\182?"},
{"foo[barЖжbaz]", false},
{"foo[barжѶҶbaz]", "foo[bar\208\209\210baz]\182?"},
{"foo[barကbaz]", false},
{"foo[bar𠀀baz]", false},
{"foo[bar]*baz", "foo[bar]*baz"},
{"foo[bar]+baz", "foo[bar]+baz"},
{"foo[bar]-baz", "foo[bar]-baz"},
{"foo[bar]?baz", "foo[bar]?baz"},
{"foo[bar]*%a", false},
{"foo[bar]+%a", false},
{"foo[bar]-%a", false},
{"foo[bar]?%a", false},
{"foo[barжbaz]*baz", false},
{"foo[barжbaz]+baz", false},
{"foo[barжbaz]-baz", false},
{"foo[barжbaz]?baz", "foo[bar\208baz]?\182?baz"},
{"foo[barжbaz]?%a", false},
{"fooжbar", "fooжbar"},
{"fooж*bar", "foo[ж]*bar"},
{"fooж+bar", "foo[ж]+bar"},
{"fooж-bar", "foo[ж]-bar"},
{"fooж?bar", "foo\208?\182?bar"},
{"fooж%a", false},
{"fooж*%a", false},
{"fooж+%a", false},
{"fooж-%a", false},
{"fooж?%a", false},
{"fooကbar", "fooကbar"},
{"fooက*bar", false},
{"fooက+bar", false},
{"fooက-bar", false},
{"fooက?bar", "foo\225?\128?\128?bar"},
{"fooက%a", false},
{"fooက?%a", false},
{"foo𠀀bar", "foo𠀀bar"},
{"foo𠀀*bar", false},
{"foo𠀀+bar", false},
{"foo𠀀-bar", false},
{"foo𠀀?bar", "foo\240?\160?\128?\128?bar"},
{"foo𠀀%a", false},
{"foo𠀀?%a", false}
}
self:iterate(examples, "check_pattern_simplifier")
end
return tests