Test2::Plugin::TermEncodingというモジュールを書きました

先日、Test2::Suiteを使ってテストを書くというエントリを書きました。

kichijojipm.hatenablog.com

Test2::Suiteには、Test2::Plugin::UTF8というモジュールが含まれていて、これを使うことでutf8 pragmaが有効になり、テスト結果の出力をUTF-8エンコードしてくれます。

しかし、世の中にはWindowsという、未だターミナルのエンコーディングUTF-8ではない環境も有るので、このままでは少し不便です。そこで、Test2::Plugin::TermEncodingというモジュールを作りました。

使い方は簡単で、単にテストコードの先頭でuse Test2::Plugin::TermEncodingとするだけです。これだけで、Term::Encodingモジュールを使ってターミナルのエンコーディングを取得して、適切なエンコーディングの設定が行われます。

また、pipeで出力結果を別のアプリに繋ぐときなど、ターミナルのエンコーディングに合わせたくない時も有ると思いますので、出力先がターミナルではないときには、自動的にutf8がセットされるようになっています。

久しぶりにCPAN moduleを作りたくなったので、作ってみました(久しぶり過ぎて最初MANIFESTを作り忘れて空っぽのアーカイブをアップロードしてしまいました…)。

Programming Perl

Programming Perl

Learning Perl: Making Easy Things Easy and Hard Things Possible

Learning Perl: Making Easy Things Easy and Hard Things Possible