意図がわからん

webrat0.5.1に以下のようなコードがあります。

# webrat-0.5.1/lib/webrat/core/elements/field.rb
module Webrat
  class Field
    def escaped_value
      CGI.escape([*@value].first.to_s)
    end
  end
end

フィールド値(@value)をCGIパラメータに変換してるんだと思いますが、この中の

[*@value]

というコードが謎です。実験してみると、@valueが改行を含むStringのとき、行が分割された配列ができてしまいます。

[*"a\nb\nc"] # => ["a\n", "b\n", "c"]

このため、テキストエリアに複数行のテキストを入力するようなテストをすると、firstメソッドにより最初の一行しか入ってくれません。
なんでこうなってるんでしょう??
仕方ないのでステップ定義とかに場当たり的に下記のようなコードを書いてやり過ごしています。

module FixedToA
  def to_a
    [self]
  end
end 

Given /hogehoge/ do
  fill_in "本文", :with => @body = <<-EOT.extend(FixedToA)
一段落目

二段落目
  EOT
end