Skip to content

Commit e052eae

Browse files
author
rwh
committed
handle basename and extension expectations together
1 parent 82604c1 commit e052eae

File tree

1 file changed

+10
-26
lines changed

1 file changed

+10
-26
lines changed

test/unix_path.rb

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -131,51 +131,35 @@ def assert_filenames(cases)
131131
end
132132

133133
describe 'nonempty filename' do
134-
it "is illegal to be a single dot" do
135-
expect { UnixPath.parse('.') }.must_raise
136-
expect { UnixPath.parse('/etc/.') }.must_raise
134+
it "cannot be a single dot" do
135+
expect { UnixPath.parse('.') }.must_raise PathMixin::FilenameError
136+
expect { UnixPath.parse('/etc/.') }.must_raise PathMixin::FilenameError
137137

138138
# . is fine as dir
139139
expect(UnixPath.parse('/etc/./').to_s).must_equal '/etc/'
140140
end
141141

142-
it "extracts basename for regular files" do
142+
it "extracts basename and extension for regular files" do
143143
path = UnixPath.parse("file.txt")
144144
expect(path.basename).must_equal "file"
145-
end
146-
147-
it "extracts basename for dotfiles" do
148-
path = UnixPath.parse(".bashrc")
149-
expect(path.basename).must_equal ""
150-
end
151-
152-
it "extracts basename for multiple extensions" do
153-
path = UnixPath.parse("archive.tar.gz")
154-
expect(path.basename).must_equal "archive.tar"
155-
end
156-
157-
it "extracts basename for files without extensions" do
158-
path = UnixPath.parse("/etc/passwd")
159-
expect(path.basename).must_equal "passwd"
160-
end
161-
162-
it "extracts extension for regular files" do
163-
path = UnixPath.parse("file.txt")
164145
expect(path.extension).must_equal ".txt"
165146
end
166147

167-
it "extracts extension for dotfiles" do
148+
it "extracts basename and extension for dotfiles" do
168149
path = UnixPath.parse(".bashrc")
150+
expect(path.basename).must_equal ""
169151
expect(path.extension).must_equal ".bashrc"
170152
end
171153

172-
it "extracts extension for multiple extensions" do
154+
it "extracts basename and extension for multiple extensions" do
173155
path = UnixPath.parse("archive.tar.gz")
156+
expect(path.basename).must_equal "archive.tar"
174157
expect(path.extension).must_equal ".gz"
175158
end
176159

177-
it "extracts empty extension for files without extensions" do
160+
it "extracts basename and extension for files without extensions" do
178161
path = UnixPath.parse("/etc/passwd")
162+
expect(path.basename).must_equal "passwd"
179163
expect(path.extension).must_equal ""
180164
end
181165
end

0 commit comments

Comments
 (0)