Advances BaseTokenStreamTestCase that uses a fake attribute to check, if
clearAttributes() was called correctly - found bugs in contrib/analyzers
-------------------------------------------------------------------------------------------------------------------------------------------------
Key: LUCENE-2211
URL: https://issues.apache.org/jira/browse/LUCENE-2211
Project: Lucene - Java
Issue Type: Bug
Components: Analysis, contrib/analyzers
Affects Versions: 3.0
Reporter: Uwe Schindler
Fix For: 3.1
Robert had the idea to use a fake attribute inside BaseTokenStreamTestCase that
records if its clear() method was called. If this is not the case after
incrementToken(), asserTokenStreamContents fails. It also uses the attribute in
TeeSinkTokenFilter, because there a lot of copying, captureState and
restoreState() is used. By the attribute, you can track wonderful, if
save/restore and clearAttributes is correctly implemented. It also verifies
that *before* a captureState() it was also cleared (as the state will also
contain the clear call). Because if you consume tokens in a filter, capture the
consumed tokens and insert them, the capturedStates must also be cleared before.
In contrib analyzers are some test that fail to pass this additional assertion.
They are not fixed in the attached patch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]