Sha256: e3e04deef9def546278a2362bdadffcbebb107a2900512f176cdf9e9d5aca46d

Contents?: true

Size: 1.2 KB

Versions: 83

Compression:

Stored size: 1.2 KB

Contents

require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper'
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/common'
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/shared/closed'

describe "Dir#each" do
  before(:each) do
    @dir = Dir.open DirSpecs.mock_dir
  end
  
  after(:each) do
    @dir.close
  end

  it "yields each directory entry in succession" do
    a = []
    @dir.each {|dir| a << dir}

    a.sort.should == DirSpecs.expected_paths
  end

  it "returns the directory which remains open" do
    # an FS does not necessarily impose order
    ls = Dir.entries(DirSpecs.mock_dir)
    @dir.each {}.should == @dir
    @dir.read.should == nil
    @dir.rewind
    ls.should include(@dir.read)
  end
  
  ruby_version_is '' ... '1.8.7' do
    it 'raises a LocalJumpError if no block given' do
      lambda{ @dir.each }.should raise_error(LocalJumpError)
    end
  end

  ruby_version_is '1.8.7' do
    it 'returns an Enumerator if no block given' do
      @dir.each.should be_kind_of(enumerator_class)
      @dir.each.to_a.sort.should == DirSpecs.expected_paths
    end
  end

end

describe "Dir#each" do
  it_behaves_like :dir_closed, :each
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
rhodes-3.1.1 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.1.beta spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.0 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.0.beta.5 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.0.beta.4 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.0.beta.3 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.0.beta.2 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.1.0.beta.1 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.2 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.2.beta.1 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.8 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.7 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.6 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.5 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.4 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.3 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.1.beta.2 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.0 spec/framework_spec/app/spec/core/dir/each_spec.rb
rhodes-3.0.0.beta.7 spec/framework_spec/app/spec/core/dir/each_spec.rb