ユーザー入力を受け付けるモジュールのテストには必ずタブ・改行こみのテキストを


表題通り、ユーザー入力を受け付けるモジュールのテストには必ずタブ・改行こみのテキストを渡す必要があります。
あぶり出せる不具合として

  • 正規表現としてテキスト先頭・テキスト末尾を表現するのに誤って^, $を使っている(これらは行頭・行末。正しくは\A, \Z
  • 簡易シリアライズとしてタブや改行を区切りに文字列を連結しただけの表現を生成しており、その際にエスケープを忘れている
  • 制御文字をはじく際の条件を単に < 0x20 と記述してしまっており、改行やタブまではじいている

などがあります。
懺悔投稿。