| # FIXME: This test demonstrated a bug that has been fixed now. The |
| # comments are not accurate anymore. Test should probably be removed. |
| |
| # ------------------------------------------------------------------- |
| |
| # This test case illustrates a bug with the before opcode. When we |
| # have more than 19 class definitions a before rule is triggered that |
| # should not match. In the following scenario the `begmidword lande` |
| # rule should only trigger when 'lande' is before a 'u'. If one class |
| # definition is removed as in the second test then the correct rules |
| # are triggered. |
| |
| table: | |
| include tables/unicode.dis |
| include tables/de-chardefs6.cti |
| class foo zz |
| class a a |
| class b b |
| class c c |
| class d d |
| class e e |
| class er er |
| class f f |
| class h h |
| class g g |
| class i i |
| class j j |
| class k k |
| class l l |
| class m m |
| class n n |
| class r r |
| class s s |
| class t t |
| class u u |
| begmidword an 235 |
| always en 14 |
| before u begmidword lande 123-235-145-15 |
| |
| tests: |
| # the only rules that should match here are the begmidword an and |
| # the always en rule. The rule `before u begmidword lande` shouldn't |
| # match but for some reason it does |
| - [landend, ⠇⠖⠙⠉⠙] |
| |
| # if we remove one of the class definitions then the correct rules |
| # match |
| table: | |
| include tables/unicode.dis |
| include tables/de-chardefs6.cti |
| class a a |
| class b b |
| class c c |
| class d d |
| class e e |
| class er er |
| class f f |
| class h h |
| class g g |
| class i i |
| class j j |
| class k k |
| class l l |
| class m m |
| class n n |
| class r r |
| class s s |
| class t t |
| class u u |
| begmidword an 235 |
| always en 14 |
| before u begmidword lande 123-235-145-15 |
| |
| tests: |
| - [landend, ⠇⠖⠙⠉⠙] |
| |
| # it looks like it doesn't matter which class definition we remove |
| # match, as long as we remove one |
| table: | |
| include tables/unicode.dis |
| include tables/de-chardefs6.cti |
| class foo zz |
| class b b |
| class c c |
| class d d |
| class e e |
| class er er |
| class f f |
| class h h |
| class g g |
| class i i |
| class j j |
| class k k |
| class l l |
| class m m |
| class n n |
| class r r |
| class s s |
| class t t |
| class u u |
| begmidword an 235 |
| always en 14 |
| before u begmidword lande 123-235-145-15 |
| |
| tests: |
| - [landend, ⠇⠖⠙⠉⠙] |
| |
| # same story with a different word. What should match are the rules |
| # `always en`, `begmidword be` and `syllable stärk`. The rule |
| # `before u begmidword stärke` should not match at all. Again this |
| # seems to depend on the number of classes defined |
| table: | |
| include tables/unicode.dis |
| include tables/de-chardefs6.cti |
| class foo zz |
| class a a |
| class b b |
| class c c |
| class d d |
| class e e |
| class er er |
| class f f |
| class h h |
| class g g |
| class i i |
| class j j |
| class k k |
| class l l |
| class m m |
| class n n |
| class r r |
| class s s |
| class t t |
| class u u |
| always en 14 |
| begmidword be 23 |
| syllable stärk 23456-345-1235-13 |
| before u begmidword stärke 23456-345-1235-13-15 |
| |
| tests: |
| - [bestärkend, ⠆⠾⠜⠗⠅⠉⠙] |
| |
| # If we remove a class then the translation is correct |
| table: | |
| include tables/unicode.dis |
| include tables/de-chardefs6.cti |
| class a a |
| class b b |
| class c c |
| class d d |
| class e e |
| class er er |
| class f f |
| class h h |
| class g g |
| class i i |
| class j j |
| class k k |
| class l l |
| class m m |
| class n n |
| class r r |
| class s s |
| class t t |
| class u u |
| always en 14 |
| begmidword be 23 |
| syllable stärk 23456-345-1235-13 |
| before u begmidword stärke 23456-345-1235-13-15 |
| |
| tests: |
| - [bestärkend, ⠆⠾⠜⠗⠅⠉⠙] |