【186日目】【1日20分のRailsチュートリアル】【第12章】演習の2.
今日は「12.5 演習」の2.から。
12.5 演習
2.Homeページに表示されている1ページ目のフィードをテストしてください。リスト12.49はそのテンプレートです。
CGI.escapeHTMLでHTMLのエスケープ処理を使っている点に注目して、なぜこれが必要なのか考えてみてください。
(試しにエスケープ処理を外して、HTMLのソースコードを注意深く調べてください。マイクロポストの内容がおかしいはずです。)
フィードのテストってどうすればいいんだろうと思ってたら2個目がそうだったのか…!
テンプレートを参考に書いてみたけどこんな感じ…??
test/integration/following_test.rb
test "feed on Home page" do get root_path @user.feed.paginate(page: 1).each do |micropost| assert_match CGI.escapeHTML(micropost.content), response.body end end
とりあえずテストは通りました。
$ bundle exec rake test 76 tests, 445 assertions, 0 failures, 0 errors, 0 skips
(試しにエスケープ処理を外して、HTMLのソースコードを注意深く調べてください。マイクロポストの内容がおかしいはずです。)
エスケープ処理を外したときに出てたエラーの中身の一部はこんな感じだったけど、これのこと…??
<span class=\"content\">\n Writing a short test\n \n </span>
記号があるとエスケープ処理必要かな、って思ったけど記号なくても必要に見える。
演習1.のプロフィールのテストでは必要なかったのになんでなんだろう。。。フィードだから?
最後に疑問を残したままこれにて「Ruby on Railsチュートリアル(第3版)」終了です。
お疲れ様でした!
今日の学習時間は【19分】。