Skip to content

Commit 7fba4ee

Browse files
committed
test_expanduser: add tests
1 parent 9e354cb commit 7fba4ee

File tree

2 files changed

+94
-93
lines changed

2 files changed

+94
-93
lines changed

test/TestFileImpure.m

Lines changed: 94 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,107 @@ function setup_path(tc)
1515
methods (Test)
1616

1717
function test_expanduser(tc)
18-
import matlab.unittest.constraints.EndsWithSubstring
19-
import matlab.unittest.constraints.StartsWithSubstring
2018

2119
tc.verifyEmpty(stdlib.expanduser(string.empty))
2220
tc.verifyEqual(stdlib.expanduser(""), "")
2321

2422
tc.verifyEqual(stdlib.expanduser("~abc"), "~abc")
2523

26-
tc.verifyThat(stdlib.expanduser('~/foo'), ~StartsWithSubstring("~"))
24+
h = stdlib.fileio.homedir();
25+
tc.verifyEqual(stdlib.expanduser("~"), h)
26+
27+
e = stdlib.expanduser("~/foo");
28+
tc.verifyEqual(e, stdlib.posix(fullfile(h, "foo")))
29+
30+
end
31+
32+
33+
function test_canonical(tc)
34+
import matlab.unittest.fixtures.TemporaryFolderFixture
35+
import matlab.unittest.fixtures.CurrentFolderFixture
36+
import matlab.unittest.constraints.StartsWithSubstring
37+
38+
td = tc.applyFixture(TemporaryFolderFixture).Folder;
39+
tc.applyFixture(CurrentFolderFixture(td))
40+
41+
% all non-existing files
42+
tc.verifyEmpty(stdlib.canonical(string.empty))
43+
tc.verifyEqual(stdlib.canonical(""), "")
44+
45+
pabs = stdlib.canonical('2foo');
46+
tc.verifyThat(pabs, StartsWithSubstring("2foo"))
47+
48+
par1 = stdlib.canonical("../2foo");
49+
tc.verifyNotEmpty(par1)
50+
tc.verifyThat(par1, StartsWithSubstring(".."))
51+
52+
pt1 = stdlib.canonical("bar/../2foo");
53+
tc.verifyEqual(pt1, "2foo")
54+
55+
% test existing file
56+
r = stdlib.parent(mfilename('fullpath'));
57+
rp = fullfile(r, "..");
58+
tc.verifyEqual(stdlib.canonical(rp), stdlib.parent(r))
59+
60+
h = stdlib.fileio.homedir;
61+
tc.verifyEqual(stdlib.canonical("~"), h)
62+
tc.verifyEqual(stdlib.canonical("~/"), h)
63+
tc.verifyEqual(stdlib.canonical("~/.."), stdlib.parent(h))
64+
65+
tc.verifyEqual(stdlib.canonical("nobody.txt"), "nobody.txt")
66+
tc.verifyEqual(stdlib.canonical("../nobody.txt"), "../nobody.txt")
67+
68+
end
69+
70+
71+
function test_resolve(tc)
72+
import matlab.unittest.fixtures.TemporaryFolderFixture
73+
import matlab.unittest.fixtures.CurrentFolderFixture
74+
import matlab.unittest.constraints.StartsWithSubstring
75+
import matlab.unittest.constraints.EndsWithSubstring
76+
import matlab.unittest.constraints.ContainsSubstring
77+
78+
td = tc.applyFixture(TemporaryFolderFixture).Folder;
79+
tc.applyFixture(CurrentFolderFixture(td))
80+
81+
% all non-existing files
82+
tc.verifyEmpty(stdlib.resolve(string.empty))
83+
tc.verifyEqual(stdlib.resolve(""), stdlib.fileio.posix(pwd))
84+
85+
pabs = stdlib.resolve('2foo');
86+
pabs2 = stdlib.resolve('4foo');
87+
tc.verifyThat(pabs, ~StartsWithSubstring("2"))
88+
tc.verifyTrue(strncmp(pabs, pabs2, 2))
89+
90+
par1 = stdlib.resolve("../2foo");
91+
tc.verifyNotEmpty(par1)
92+
tc.verifyThat(par1, ~ContainsSubstring(".."))
93+
94+
par2 = stdlib.resolve("../4foo");
95+
tc.verifyTrue(strncmp(par2, pabs2, 2))
96+
97+
pt1 = stdlib.resolve("bar/../2foo");
98+
tc.verifyNotEmpty(pt1)
99+
tc.verifyThat(pt1, ~ContainsSubstring(".."))
100+
101+
va = stdlib.resolve("2foo");
102+
vb = stdlib.resolve("4foo");
103+
tc.verifyThat(va, ~StartsWithSubstring("2"))
104+
tc.verifyTrue(strncmp(va, vb, 2))
105+
106+
% test existing file
107+
r = stdlib.parent(mfilename('fullpath'));
108+
rp = fullfile(r, "..");
109+
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))
110+
111+
h = stdlib.fileio.homedir;
112+
tc.verifyEqual(stdlib.resolve("~"), h)
113+
tc.verifyEqual(stdlib.resolve("~/"), h)
114+
tc.verifyEqual(stdlib.resolve("~/.."), stdlib.parent(h))
115+
116+
tc.verifyEqual(stdlib.resolve("nobody.txt"), fullfile(td, "nobody.txt"))
117+
tc.verifyEqual(stdlib.resolve("../nobody.txt"), fullfile(stdlib.parent(td), "nobody.txt"))
27118

28-
tc.verifyThat(stdlib.expanduser('~/foo'), EndsWithSubstring("foo"))
29119
end
30120

31121

test/TestFilePure.m

Lines changed: 0 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -146,95 +146,6 @@ function test_normalize(tc)
146146
end
147147

148148

149-
function test_canonical(tc)
150-
import matlab.unittest.fixtures.TemporaryFolderFixture
151-
import matlab.unittest.fixtures.CurrentFolderFixture
152-
import matlab.unittest.constraints.StartsWithSubstring
153-
154-
td = tc.applyFixture(TemporaryFolderFixture).Folder;
155-
tc.applyFixture(CurrentFolderFixture(td))
156-
157-
% all non-existing files
158-
tc.verifyEmpty(stdlib.canonical(string.empty))
159-
tc.verifyEqual(stdlib.canonical(""), "")
160-
161-
pabs = stdlib.canonical('2foo');
162-
tc.verifyThat(pabs, StartsWithSubstring("2foo"))
163-
164-
par1 = stdlib.canonical("../2foo");
165-
tc.verifyNotEmpty(par1)
166-
tc.verifyThat(par1, StartsWithSubstring(".."))
167-
168-
pt1 = stdlib.canonical("bar/../2foo");
169-
tc.verifyEqual(pt1, "2foo")
170-
171-
% test existing file
172-
r = stdlib.parent(mfilename('fullpath'));
173-
rp = fullfile(r, "..");
174-
tc.verifyEqual(stdlib.canonical(rp), stdlib.parent(r))
175-
176-
h = stdlib.fileio.homedir;
177-
tc.verifyEqual(stdlib.canonical("~"), h)
178-
tc.verifyEqual(stdlib.canonical("~/"), h)
179-
tc.verifyEqual(stdlib.canonical("~/.."), stdlib.parent(h))
180-
181-
tc.verifyEqual(stdlib.canonical("nobody.txt"), "nobody.txt")
182-
tc.verifyEqual(stdlib.canonical("../nobody.txt"), "../nobody.txt")
183-
184-
end
185-
186-
187-
function test_resolve(tc)
188-
import matlab.unittest.fixtures.TemporaryFolderFixture
189-
import matlab.unittest.fixtures.CurrentFolderFixture
190-
import matlab.unittest.constraints.StartsWithSubstring
191-
import matlab.unittest.constraints.EndsWithSubstring
192-
import matlab.unittest.constraints.ContainsSubstring
193-
194-
td = tc.applyFixture(TemporaryFolderFixture).Folder;
195-
tc.applyFixture(CurrentFolderFixture(td))
196-
197-
% all non-existing files
198-
tc.verifyEmpty(stdlib.resolve(string.empty))
199-
tc.verifyEqual(stdlib.resolve(""), stdlib.fileio.posix(pwd))
200-
201-
pabs = stdlib.resolve('2foo');
202-
pabs2 = stdlib.resolve('4foo');
203-
tc.verifyThat(pabs, ~StartsWithSubstring("2"))
204-
tc.verifyTrue(strncmp(pabs, pabs2, 2))
205-
206-
par1 = stdlib.resolve("../2foo");
207-
tc.verifyNotEmpty(par1)
208-
tc.verifyThat(par1, ~ContainsSubstring(".."))
209-
210-
par2 = stdlib.resolve("../4foo");
211-
tc.verifyTrue(strncmp(par2, pabs2, 2))
212-
213-
pt1 = stdlib.resolve("bar/../2foo");
214-
tc.verifyNotEmpty(pt1)
215-
tc.verifyThat(pt1, ~ContainsSubstring(".."))
216-
217-
va = stdlib.resolve("2foo");
218-
vb = stdlib.resolve("4foo");
219-
tc.verifyThat(va, ~StartsWithSubstring("2"))
220-
tc.verifyTrue(strncmp(va, vb, 2))
221-
222-
% test existing file
223-
r = stdlib.parent(mfilename('fullpath'));
224-
rp = fullfile(r, "..");
225-
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))
226-
227-
h = stdlib.fileio.homedir;
228-
tc.verifyEqual(stdlib.resolve("~"), h)
229-
tc.verifyEqual(stdlib.resolve("~/"), h)
230-
tc.verifyEqual(stdlib.resolve("~/.."), stdlib.parent(h))
231-
232-
tc.verifyEqual(stdlib.resolve("nobody.txt"), fullfile(td, "nobody.txt"))
233-
tc.verifyEqual(stdlib.resolve("../nobody.txt"), fullfile(stdlib.parent(td), "nobody.txt"))
234-
235-
end
236-
237-
238149
function test_with_suffix(tc)
239150

240151
tc.verifyEmpty(stdlib.with_suffix(string.empty, ".nc"))

0 commit comments

Comments
 (0)