From b219cd5ac36ffb733e3eccd98d53ecf660dee5bf Mon Sep 17 00:00:00 2001 From: Jim Kane Date: Tue, 22 Oct 2019 05:01:24 -0500 Subject: [ruby/csv] Make CSV::Row#dup return a usable Row (#108) * Make CSV::Row#dup return a usable Row Previously, calling `dup` on a `CSV::Row` object yielded an object whose copy was too shallow. Changing the clone's fields would also change the fields on the source. This change makes the clone more distinct from the source, so that changes can be made to its fields without affecting the source. * Simplify https://github.com/ruby/csv/commit/64a1ea06fc --- test/csv/test_row.rb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test/csv') diff --git a/test/csv/test_row.rb b/test/csv/test_row.rb index f709dd3f13..b717945041 100644 --- a/test/csv/test_row.rb +++ b/test/csv/test_row.rb @@ -425,6 +425,9 @@ class TestCSVRow < Test::Unit::TestCase def test_dup row = CSV::Row.new(["A"], ["foo"]) dupped_row = row.dup + dupped_row["A"] = "bar" + assert_equal(["foo", "bar"], + [row["A"], dupped_row["A"]]) dupped_row.delete("A") assert_equal(["foo", nil], [row["A"], dupped_row["A"]]) -- cgit v1.2.3