Make code compatible with Ruby 1.8.7 and fix test.