Test Coverage
- property tests have been added using the proptest crate
- big thanks go to Christophe Biocca for pointing me to the concept of property tests in the first place and for writing an initial implementation of these tests
Bug Fixes
- some regular expression specific characters were not escaped correctly in the generated expression
- expressions consisting of a single alternation such as
^(abc|xyz)$
were missing the outer parentheses. This caused an erroneous match of strings such asabc123
or456xyz
because of precedence rules. - the created DFA was wrong for repetition conversion in some corner cases. The input
a, aa, aaa, aaaa, aaab
previously returned the expression^a{1,4}b?$
which erroneously matchesaaaab
. Now the correct expression^(a{3}b|a{1,4})$
is returned.
Documentation
- some minor documentation updates