diff options
author | Benoit Daloze <eregontp@gmail.com> | 2021-02-27 13:00:26 +0100 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2021-02-27 13:00:26 +0100 |
commit | 36dde35e029c7a6607e6c674062ce6fc7a51c0bd (patch) | |
tree | 47f9c820a93d5b9a68f7e903cc01ee607913e2dd /spec/ruby/core/dir | |
parent | dbea0be13dc1f44833eca43a73f3ab898fa27c15 (diff) |
Update to ruby/spec@37e52e5
Diffstat (limited to 'spec/ruby/core/dir')
-rw-r--r-- | spec/ruby/core/dir/children_spec.rb | 14 | ||||
-rw-r--r-- | spec/ruby/core/dir/each_child_spec.rb | 12 | ||||
-rw-r--r-- | spec/ruby/core/dir/entries_spec.rb | 13 | ||||
-rw-r--r-- | spec/ruby/core/dir/foreach_spec.rb | 12 |
4 files changed, 45 insertions, 6 deletions
diff --git a/spec/ruby/core/dir/children_spec.rb b/spec/ruby/core/dir/children_spec.rb index e0325a24b8..f890f54eb4 100644 --- a/spec/ruby/core/dir/children_spec.rb +++ b/spec/ruby/core/dir/children_spec.rb @@ -100,10 +100,18 @@ ruby_version_is "2.6" do a.should == %w|.dotfile.ext directory| end - it "accepts an options Hash" do + it "accepts an encoding keyword for the encoding of the entries" do @dir = Dir.new("#{DirSpecs.mock_dir}/deeply/nested", encoding: "utf-8") - a = @dir.children.sort - a.should == %w|.dotfile.ext directory| + dirs = @dir.to_a.sort + dirs.each { |d| d.encoding.should == Encoding::UTF_8 } + end + + ruby_version_is ""..."2.7" do + it "accepts nil options" do + @dir = Dir.new("#{DirSpecs.mock_dir}/deeply/nested", nil) + dirs = @dir.to_a.sort + dirs.each { |d| d.encoding.should == Encoding.find("filesystem") } + end end it "returns children encoded with the filesystem encoding by default" do diff --git a/spec/ruby/core/dir/each_child_spec.rb b/spec/ruby/core/dir/each_child_spec.rb index 93b4a1aec1..684f42acc0 100644 --- a/spec/ruby/core/dir/each_child_spec.rb +++ b/spec/ruby/core/dir/each_child_spec.rb @@ -10,6 +10,18 @@ describe "Dir.each_child" do DirSpecs.delete_mock_dirs end + it "accepts an encoding keyword for the encoding of the entries" do + dirs = Dir.each_child("#{DirSpecs.mock_dir}/deeply/nested", encoding: "utf-8").to_a.sort + dirs.each {|dir| dir.encoding.should == Encoding::UTF_8} + end + + ruby_version_is ""..."2.7" do + it "accepts nil options" do + dirs = Dir.each_child("#{DirSpecs.mock_dir}/deeply/nested", nil).to_a.sort + dirs.each {|dir| dir.encoding.should == Encoding.find("filesystem")} + end + end + it "yields all names in an existing directory to the provided block" do a, b = [], [] diff --git a/spec/ruby/core/dir/entries_spec.rb b/spec/ruby/core/dir/entries_spec.rb index 33568b6fc4..9aa58657db 100644 --- a/spec/ruby/core/dir/entries_spec.rb +++ b/spec/ruby/core/dir/entries_spec.rb @@ -35,9 +35,16 @@ describe "Dir.entries" do Dir.entries(p) end - it "accepts an options Hash" do - a = Dir.entries("#{DirSpecs.mock_dir}/deeply/nested", encoding: "utf-8").sort - a.should == %w|. .. .dotfile.ext directory| + it "accepts an encoding keyword for the encoding of the entries" do + dirs = Dir.entries("#{DirSpecs.mock_dir}/deeply/nested", encoding: "utf-8").to_a.sort + dirs.each {|dir| dir.encoding.should == Encoding::UTF_8} + end + + ruby_version_is ""..."2.7" do + it "accepts nil options" do + dirs = Dir.entries("#{DirSpecs.mock_dir}/deeply/nested", nil).to_a.sort + dirs.each {|dir| dir.encoding.should == Encoding.find("filesystem")} + end end it "returns entries encoded with the filesystem encoding by default" do diff --git a/spec/ruby/core/dir/foreach_spec.rb b/spec/ruby/core/dir/foreach_spec.rb index 1560b85f8a..c3ddb27a84 100644 --- a/spec/ruby/core/dir/foreach_spec.rb +++ b/spec/ruby/core/dir/foreach_spec.rb @@ -39,6 +39,18 @@ describe "Dir.foreach" do 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} + end + + ruby_version_is ""..."2.7" do + it "accepts nil options" do + dirs = Dir.foreach("#{DirSpecs.mock_dir}/deeply/nested", nil).to_a.sort + dirs.each {|dir| dir.encoding.should == Encoding.find("filesystem")} + 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) |