features/README.md in rspec-subject-extensions-0.2.3 vs features/README.md in rspec-subject-extensions-0.3.0
- old
+ new
@@ -1,11 +1,14 @@
rspec-subject-extensions adds `each` short-hand to generate a nested example group with
a single example that specifies the expected value of each attribute of the subject.
+If no attribute is given, each element of the subject will be used.
## Each
-Creates a nested example group named by +each+ and the submitted +attribute+,
+#### Using the singular name of the attributes
+
+Creates a nested example group named by `each` and the submitted `attribute`,
and then generates an example for each attribute using the submitted block.
# This ...
describe Object do
each(:item) { should be_an(Integer) }
@@ -20,10 +23,32 @@
end
end
end
end
-The +attribute+ can be a +Symbol+ or a +String+.
+The `attribute` can be a `Symbol` or a `String`.
+
+#### Using no attribute. Ideal to test scopes
+
+Creates a nested example group and then generates an example
+for each instance using the submitted block.
+
+ # This ...
+ describe Object do
+ subject { Object.visible }
+ each { should be_visible }
+ end
+
+ # ... generates the same runtime structure as this:
+ describe Object do
+ describe "each instance" do
+ it "should be visible" do
+ subject.each do |element|
+ element.should be_visible
+ end
+ end
+ end
+ end
## Issues
The documentation for rspec-subject-extensions is a work in progress. We'll be adding
Cucumber features over time, and clarifying existing ones. If you have