ruby/spec/rubyspec/core/enumerable/shared/entries.rb
eregon 95e8c48dd3 Add in-tree mspec and ruby/spec
* For easier modifications of ruby/spec by MRI developers.
* .gitignore: track changes under spec.
* spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec.
  These files can therefore be updated like any other file in MRI.
  Instructions are provided in spec/README.
  [Feature #13156] [ruby-core:79246]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-05-07 12:04:49 +00:00

24 lines
882 B
Ruby

describe :enumerable_entries, shared: true do
it "returns an array containing the elements" do
numerous = EnumerableSpecs::Numerous.new(1, nil, 'a', 2, false, true)
numerous.send(@method).should == [1, nil, "a", 2, false, true]
end
it "passes through the values yielded by #each_with_index" do
[:a, :b].each_with_index.send(@method).should == [[:a, 0], [:b, 1]]
end
it "passes arguments to each" do
count = EnumerableSpecs::EachCounter.new(1, 2, 3)
count.send(@method, :hello, "world").should == [1, 2, 3]
count.arguments_passed.should == [:hello, "world"]
end
it "returns a tainted array if self is tainted" do
EnumerableSpecs::Empty.new.taint.send(@method).tainted?.should be_true
end
it "returns an untrusted array if self is untrusted" do
EnumerableSpecs::Empty.new.untrust.send(@method).untrusted?.should be_true
end
end