Skip to content

Commit cefd2c1

Browse files
committed
Merge pull request rspec#2100 from bootstraponline/fix_exampe_clone
Fix Example duplicate_with
2 parents e123528 + a4c1eab commit cefd2c1

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/rspec/core/example.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,9 @@ def duplicate_with(metadata_overrides={})
136136
new_metadata.delete reserved_key
137137
end
138138

139-
Example.new(example_group.clone, description.clone,
139+
# don't clone the example group because the new example
140+
# must belong to the same example group (not a clone).
141+
Example.new(example_group, description.clone,
140142
new_metadata, new_metadata[:block])
141143
end
142144

spec/rspec/core/example_spec.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ def metadata_hash(*args)
5252

5353
# cloned examples must have unique ids
5454
expect(example.id).to_not eq(example2.id)
55+
56+
# cloned examples must both refer to the same example group (not a clone)
57+
expect(example.example_group.object_id).to eq(example2.example_group.object_id)
5558
end
5659
end
5760

0 commit comments

Comments
 (0)