diff options
Diffstat (limited to 'spec/ruby/core/dir/foreach_spec.rb')
| -rw-r--r-- | spec/ruby/core/dir/foreach_spec.rb | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/spec/ruby/core/dir/foreach_spec.rb b/spec/ruby/core/dir/foreach_spec.rb index 1560b85f8a..2a2265a029 100644 --- a/spec/ruby/core/dir/foreach_spec.rb +++ b/spec/ruby/core/dir/foreach_spec.rb @@ -31,17 +31,29 @@ describe "Dir.foreach" do end it "raises a SystemCallError if passed a nonexistent directory" do - -> { Dir.foreach(DirSpecs.nonexistent) {} }.should raise_error(SystemCallError) + -> { Dir.foreach(DirSpecs.nonexistent) {} }.should.raise(SystemCallError) end it "returns an Enumerator if no block given" do - Dir.foreach(DirSpecs.mock_dir).should be_an_instance_of(Enumerator) + Dir.foreach(DirSpecs.mock_dir).should.instance_of?(Enumerator) Dir.foreach(DirSpecs.mock_dir).to_a.sort.should == DirSpecs.expected_paths end + it "accepts an encoding keyword for the encoding of the entries" do + dirs = Dir.foreach("#{DirSpecs.mock_dir}/deeply/nested", encoding: "utf-8").to_a.sort + dirs.each { |dir| dir.encoding.should == Encoding::UTF_8 } + + dirs = Dir.foreach("#{DirSpecs.mock_dir}/deeply/nested", encoding: Encoding::ISO_8859_1).to_a.sort + dirs.each { |dir| dir.encoding.should == Encoding::ISO_8859_1 } + + Dir.foreach("#{DirSpecs.mock_dir}/deeply/nested", encoding: Encoding::ISO_8859_1) do |f| + f.encoding.should == Encoding::ISO_8859_1 + end + end + describe "when no block is given" do it "returns an Enumerator" do - Dir.foreach(DirSpecs.mock_dir).should be_an_instance_of(Enumerator) + Dir.foreach(DirSpecs.mock_dir).should.instance_of?(Enumerator) Dir.foreach(DirSpecs.mock_dir).to_a.sort.should == DirSpecs.expected_paths end |
