Rails4まではRailsで「CSVが出力でき、かつcharsetがshift-jisである」ということをテストするために以下のコードでよかったのですが
ruby
1# CSV出力の際のコード 2send_data(csv_data, type: "text/csv; charset=shift_jis", filename: "#{filename}.csv", disposition: 'attachment') 3 4# RSpec 5expect(response.content_type).to eq 'text/csv; charset=shift_jis' 6# => Rails4までは成功
Rails5に上がってからはセミコロン以下の部分まるまる無視されるようになってしまいました
ruby
1Failure/Error: expect(response.content_type).to eq 'text/csv; charset=shift_jis' 2 3 expected: "text/csv; charset=shift_jis" 4 got: "text/csv" 5 6 (compared using ==)
Rails5に上がってからContent-Typeからcharsetが抜け落ちる仕様になってしまったのでしょうか?
また、調べていくとresponse.charset
というメソッドもあることが判明したのですが、shift_jis
と出てほしいのにutf-8
と出てきます
どなたかshift_jisでエンコーディングされているということをテストする方法に関してご存じないでしょうか?
お願いいたします

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/12 05:45