# 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, ⠆⠾⠜⠗⠅⠉⠙]