Ryo Onodera
onode****@clear*****
2009年 10月 26日 (月) 14:11:39 JST
小野寺です。 grn_snip_open()に渡すflagsの値によって、不適切な場所にtagが挿入されてし まうバグを発見しました。cutterの出力の抜粋になりますが、具体的には出力が 次の様になってしまいます。 expected: <Groonga is an [[embeddable]] fulltext actual: <Groonga is an[[ embeddable]] fulltext 詳しく調べるために、grn_snip_open()に渡せる3つのflagの組み合わせ8通り全 てを試すテストを書いたところ、GRN_SNIP_NORMALIZEが他のフラグと組み合わさ れた時の挙動が怪しいです。GRN_SNIP_NORMALIZEが有効でない残り4通りの挙動 は全て同じで上のexpected:と同じになります。 GRN_SNIP_NORMALIZE単体あるいはGRN_SNIP_NORMALIZEとGRN_SNIP_COPY_TAGの時 に、このバグは発生します。 しかしGRN_SNIP_NORMALIZEの他にGRN_SNIP_SKIP_LEADING_SPACESが組み合わされ た時は、このバグは発生しません。 なぜこうなるかの原因は特定できていません。そして、これがテストを追加する コミットです。 add test_proper_tag_insertion() http://github.com/ryoqun/groonga/commit/6eca72392c307cc4e3af825db35c14700c51384c -- 小野寺 諒 <onode****@clear*****> 株式会社クリアコード (http://www.clear-code.com/)