diff options
author | Benoit Daloze <eregontp@gmail.com> | 2019-04-27 18:53:23 +0200 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2019-04-27 18:53:23 +0200 |
commit | a1b4816759418ca8fe510e8739622fc5d77ab0f0 (patch) | |
tree | 9d4fb6091d0086817f5bde46bf1150e9130d34fd /spec/ruby/core/enumerator/lazy/uniq_spec.rb | |
parent | 00c33d9c232ed1a79eda17acd7231ac93caa162b (diff) | |
download | ruby-a1b4816759418ca8fe510e8739622fc5d77ab0f0.tar.gz |
Update to ruby/spec@15c9619
Diffstat (limited to 'spec/ruby/core/enumerator/lazy/uniq_spec.rb')
-rw-r--r-- | spec/ruby/core/enumerator/lazy/uniq_spec.rb | 114 |
1 files changed, 53 insertions, 61 deletions
diff --git a/spec/ruby/core/enumerator/lazy/uniq_spec.rb b/spec/ruby/core/enumerator/lazy/uniq_spec.rb index d337d063d6..ce67ace5ab 100644 --- a/spec/ruby/core/enumerator/lazy/uniq_spec.rb +++ b/spec/ruby/core/enumerator/lazy/uniq_spec.rb @@ -1,82 +1,74 @@ require_relative '../../../spec_helper' require_relative 'fixtures/classes' -ruby_version_is '2.4' do - describe 'Enumerator::Lazy#uniq' do - context 'without block' do - before :each do - @lazy = [0, 1, 0, 1].to_enum.lazy.uniq - end - - it 'returns a lazy enumerator' do - @lazy.should be_an_instance_of(Enumerator::Lazy) - @lazy.force.should == [0, 1] - end +describe 'Enumerator::Lazy#uniq' do + context 'without block' do + before :each do + @lazy = [0, 1, 0, 1].to_enum.lazy.uniq + end - ruby_bug "#14495", "2.4"..."2.5.2" do - it 'return same value after rewind' do - @lazy.force.should == [0, 1] - @lazy.force.should == [0, 1] - end - end + it 'returns a lazy enumerator' do + @lazy.should be_an_instance_of(Enumerator::Lazy) + @lazy.force.should == [0, 1] + end - it 'sets the size to nil' do - @lazy.size.should == nil - end + it 'return same value after rewind' do + @lazy.force.should == [0, 1] + @lazy.force.should == [0, 1] end - context 'when yielded with an argument' do - before :each do - @lazy = [0, 1, 2, 3].to_enum.lazy.uniq(&:even?) - end + it 'sets the size to nil' do + @lazy.size.should == nil + end + end - it 'returns a lazy enumerator' do - @lazy.should be_an_instance_of(Enumerator::Lazy) - @lazy.force.should == [0, 1] - end + context 'when yielded with an argument' do + before :each do + @lazy = [0, 1, 2, 3].to_enum.lazy.uniq(&:even?) + end - ruby_bug "#14495", "2.4"..."2.5.2" do - it 'return same value after rewind' do - @lazy.force.should == [0, 1] - @lazy.force.should == [0, 1] - end - end + it 'returns a lazy enumerator' do + @lazy.should be_an_instance_of(Enumerator::Lazy) + @lazy.force.should == [0, 1] + end - it 'sets the size to nil' do - @lazy.size.should == nil - end + it 'return same value after rewind' do + @lazy.force.should == [0, 1] + @lazy.force.should == [0, 1] end - context 'when yielded with multiple arguments' do - before :each do - enum = Object.new.to_enum - class << enum - def each - yield 0, 'foo' - yield 1, 'FOO' - yield 2, 'bar' - end - end - @lazy = enum.lazy - end + it 'sets the size to nil' do + @lazy.size.should == nil + end + end - ruby_bug "#14495", "2.4"..."2.5.2" do - it 'return same value after rewind' do - enum = @lazy.uniq { |_, label| label.downcase } - enum.force.should == [[0, 'foo'], [2, 'bar']] - enum.force.should == [[0, 'foo'], [2, 'bar']] + context 'when yielded with multiple arguments' do + before :each do + enum = Object.new.to_enum + class << enum + def each + yield 0, 'foo' + yield 1, 'FOO' + yield 2, 'bar' end end + @lazy = enum.lazy + end - it 'returns all yield arguments as an array' do - @lazy.uniq { |_, label| label.downcase }.force.should == [[0, 'foo'], [2, 'bar']] - end + it 'return same value after rewind' do + enum = @lazy.uniq { |_, label| label.downcase } + enum.force.should == [[0, 'foo'], [2, 'bar']] + enum.force.should == [[0, 'foo'], [2, 'bar']] end - it "works with an infinite enumerable" do - s = 0..Float::INFINITY - s.lazy.uniq.first(100).should == - s.first(100).uniq + it 'returns all yield arguments as an array' do + @lazy.uniq { |_, label| label.downcase }.force.should == [[0, 'foo'], [2, 'bar']] end end + + it "works with an infinite enumerable" do + s = 0..Float::INFINITY + s.lazy.uniq.first(100).should == + s.first(100).uniq + end end |