diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2019-04-03 23:03:30 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-03 23:03:30 -0400 |
commit | eda2d7d7b91d78296ed863ff580163355b7b92e8 (patch) | |
tree | 31a763b467c08aadb6a21f5fda0ad96e7ab5f782 /actionview/test | |
parent | 464d625324accb8486aefa0b4a4b46477462dd08 (diff) | |
parent | e8688ddb33347eb9de078843a75a075b70cc9f04 (diff) | |
download | rails-eda2d7d7b91d78296ed863ff580163355b7b92e8.tar.gz rails-eda2d7d7b91d78296ed863ff580163355b7b92e8.tar.bz2 rails-eda2d7d7b91d78296ed863ff580163355b7b92e8.zip |
Merge pull request #35145 from st0012/fix-35114
Fix partial caching ignore repeated items issue
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/fixtures/test/_cached_set.erb | 1 | ||||
-rw-r--r-- | actionview/test/template/render_test.rb | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/actionview/test/fixtures/test/_cached_set.erb b/actionview/test/fixtures/test/_cached_set.erb new file mode 100644 index 0000000000..cd492fc519 --- /dev/null +++ b/actionview/test/fixtures/test/_cached_set.erb @@ -0,0 +1 @@ +<%= cached_set.first %> | <%= cached_set.second %> | <%= cached_set.third %> | <%= cached_set.fourth %> | <%= cached_set.fifth %> diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb index 15c41051de..f0b5d7d95e 100644 --- a/actionview/test/template/render_test.rb +++ b/actionview/test/template/render_test.rb @@ -811,6 +811,28 @@ class CachedCollectionViewRenderTest < ActiveSupport::TestCase end end + test "collection caching with repeated collection" do + sets = [ + [1, 2, 3, 4, 5], + [1, 2, 3, 4, 4], + [1, 2, 3, 4, 5], + [1, 2, 3, 4, 4], + [1, 2, 3, 4, 6] + ] + + result = @view.render(partial: "test/cached_set", collection: sets, cached: true) + + splited_result = result.split("\n") + assert_equal 5, splited_result.count + assert_equal [ + "1 | 2 | 3 | 4 | 5", + "1 | 2 | 3 | 4 | 4", + "1 | 2 | 3 | 4 | 5", + "1 | 2 | 3 | 4 | 4", + "1 | 2 | 3 | 4 | 6" + ], splited_result + end + private def cache_key(*names, virtual_path) digest = ActionView::Digestor.digest name: virtual_path, format: :html, finder: @view.lookup_context, dependencies: [] |