まつもと ゆきひろです
In message "Re: [ruby-dev:24828] test_logger が -r gtk2 の時に失敗"
on Sun, 14 Nov 2004 00:35:08 +0900, Kazuhiko <kazuhiko / fdiary.net> writes:
|ruby 1.8.2 (2004-11-11) [i586-linux] で
| LANG=ja_JP.EUC-JP ./ruby -I lib test/runner.rb -r gtk2 test/logger
|と gtk2 runner で logger のテストをすると、
| test_datetime_format(TestLogger) [./test/logger/test_logger.rb:95]:
| <"1411\267\3562004@00:12:16"> expected to be =~
| </^\d\d\w\w\w\d\d\d\d@\d\d:\d\d:\d\d$/>.
|という風に失敗します ("1411月2004@00:12:16" になっている)。
|なお、-r c や -r t の時は通ります。
gtkが内部でsetlocaleを呼ぶからですね。localeも余計なことをし
てくれるなあ。
想定される対処法
* gtk.soでsetlocale(LC_ALL, "C")を呼ぶ
* strftimeにかならずmissing/strftime.cを使う
* test suiteで%bを使わない
うーむ、最後のが魅力的だが、Time#to_sも内部的に%bを使ってい
るのはどうしたもんだか。ま、ここでは関係ないか。