Skip a new spec for Dir#chdir on Windows when original directory is r… · ruby/spec@affef93 (original) (raw)

Original file line number Diff line number Diff line change
@@ -177,27 +177,29 @@ def to_str; DirSpecs.mock_dir; end
177 177 dir.close
178 178 end
179 179
180 -it "does not raise an Errno::ENOENT if the original directory no longer exists" do
181 -dir_name1 = tmp('testdir1')
182 -dir_name2 = tmp('testdir2')
183 -Dir.should_not.exist?(dir_name1)
184 -Dir.should_not.exist?(dir_name2)
185 -Dir.mkdir dir_name1
186 -Dir.mkdir dir_name2
187 -
188 -dir2 = Dir.new(dir_name2)
189 -
190 -begin
191 -Dir.chdir(dir_name1) do
192 -dir2.chdir { Dir.unlink dir_name1 }
180 +platform_is_not :windows do
181 +it "does not raise an Errno::ENOENT if the original directory no longer exists" do
182 +dir_name1 = tmp('testdir1')
183 +dir_name2 = tmp('testdir2')
184 +Dir.should_not.exist?(dir_name1)
185 +Dir.should_not.exist?(dir_name2)
186 +Dir.mkdir dir_name1
187 +Dir.mkdir dir_name2
188 +
189 +dir2 = Dir.new(dir_name2)
190 +
191 +begin
192 +Dir.chdir(dir_name1) do
193 +dir2.chdir { Dir.unlink dir_name1 }
194 +end
195 +Dir.pwd.should == @original
196 +ensure
197 +Dir.unlink dir_name1 if Dir.exist?(dir_name1)
198 +Dir.unlink dir_name2 if Dir.exist?(dir_name2)
193 199 end
194 -Dir.pwd.should == @original
195 200 ensure
196 -Dir.unlink dir_name1 if Dir.exist?(dir_name1)
197 -Dir.unlink dir_name2 if Dir.exist?(dir_name2)
201 +dir2.close
198 202 end
199 -ensure
200 -dir2.close
201 203 end
202 204
203 205 it "always returns to the original directory when given a block" do