Skip to content

Commit 1ba8ac4

Browse files
committed
TestResolve class
1 parent 2a0a6ec commit 1ba8ac4

File tree

2 files changed

+126
-111
lines changed

2 files changed

+126
-111
lines changed

test/TestFileImpure.m

Lines changed: 0 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -104,117 +104,6 @@ function test_touch_modtime(tc)
104104
end
105105

106106

107-
function test_absolute(tc)
108-
import matlab.unittest.fixtures.TemporaryFolderFixture
109-
import matlab.unittest.fixtures.CurrentFolderFixture
110-
import matlab.unittest.constraints.StartsWithSubstring
111-
import matlab.unittest.constraints.EndsWithSubstring
112-
113-
td = tc.applyFixture(TemporaryFolderFixture).Folder;
114-
tc.applyFixture(CurrentFolderFixture(td))
115-
116-
tc.verifyEqual(stdlib.absolute(""), stdlib.posix(td))
117-
tc.verifyEqual(stdlib.absolute("",""), stdlib.posix(td))
118-
tc.verifyEqual(stdlib.absolute("hi"), stdlib.join(td, "hi"))
119-
tc.verifyEqual(stdlib.absolute("", "hi"), stdlib.join(td, "hi"))
120-
tc.verifyEqual(stdlib.absolute("there", "hi"), stdlib.join(td, "hi/there"))
121-
122-
end
123-
124-
125-
126-
function test_canonical(tc)
127-
import matlab.unittest.fixtures.TemporaryFolderFixture
128-
import matlab.unittest.fixtures.CurrentFolderFixture
129-
import matlab.unittest.constraints.StartsWithSubstring
130-
import matlab.unittest.constraints.EndsWithSubstring
131-
132-
td = tc.applyFixture(TemporaryFolderFixture).Folder;
133-
tc.applyFixture(CurrentFolderFixture(td))
134-
135-
% all non-existing files
136-
137-
tc.verifyEqual(stdlib.canonical(""), ".")
138-
139-
pabs = stdlib.canonical('2foo');
140-
tc.verifyThat(pabs, StartsWithSubstring("2foo"))
141-
142-
par1 = stdlib.canonical("../2foo");
143-
tc.verifyThat(par1, StartsWithSubstring(".."))
144-
145-
pt1 = stdlib.canonical("bar/../2foo");
146-
tc.verifyEqual(pt1, "2foo")
147-
148-
% test existing file
149-
r = stdlib.parent(mfilename('fullpath'));
150-
tc.verifyEqual(stdlib.canonical(fullfile(r, "..")), stdlib.parent(r))
151-
152-
% on windows, ~ is expanded even without expanduser
153-
if ~ispc
154-
tc.verifyThat(stdlib.canonical("~", false), EndsWithSubstring("~"))
155-
end
156-
157-
h = stdlib.homedir;
158-
tc.verifyEqual(stdlib.canonical("~"), h)
159-
tc.verifyEqual(stdlib.canonical("~/"), h)
160-
tc.verifyEqual(stdlib.canonical("~/.."), stdlib.parent(h))
161-
162-
tc.verifyEqual(stdlib.canonical("nobody.txt"), "nobody.txt")
163-
tc.verifyEqual(stdlib.canonical("../nobody.txt"), "../nobody.txt")
164-
165-
end
166-
167-
168-
function test_resolve(tc)
169-
import matlab.unittest.fixtures.TemporaryFolderFixture
170-
import matlab.unittest.fixtures.CurrentFolderFixture
171-
import matlab.unittest.constraints.StartsWithSubstring
172-
import matlab.unittest.constraints.EndsWithSubstring
173-
import matlab.unittest.constraints.ContainsSubstring
174-
175-
td = tc.applyFixture(TemporaryFolderFixture).Folder;
176-
tc.applyFixture(CurrentFolderFixture(td))
177-
178-
% all non-existing files
179-
180-
tc.verifyEqual(stdlib.resolve(""), stdlib.posix(td))
181-
182-
pabs = stdlib.resolve('2foo');
183-
pabs2 = stdlib.resolve('4foo');
184-
tc.verifyThat(pabs, ~StartsWithSubstring("2"))
185-
tc.verifyTrue(strncmp(pabs, pabs2, 2))
186-
187-
par1 = stdlib.resolve("../2foo");
188-
tc.verifyNotEmpty(par1)
189-
tc.verifyThat(par1, ~ContainsSubstring(".."))
190-
191-
par2 = stdlib.resolve("../4foo");
192-
tc.verifyTrue(strncmp(par2, pabs2, 2))
193-
194-
pt1 = stdlib.resolve("bar/../2foo");
195-
tc.verifyNotEmpty(pt1)
196-
tc.verifyThat(pt1, ~ContainsSubstring(".."))
197-
198-
va = stdlib.resolve("2foo");
199-
vb = stdlib.resolve("4foo");
200-
tc.verifyThat(va, ~StartsWithSubstring("2"))
201-
tc.verifyTrue(strncmp(va, vb, 2))
202-
203-
% test existing file
204-
r = stdlib.parent(mfilename('fullpath'));
205-
rp = stdlib.parent(r);
206-
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))
207-
208-
h = stdlib.homedir;
209-
tc.verifyEqual(stdlib.resolve("~"), h)
210-
tc.verifyEqual(stdlib.resolve("~/"), h)
211-
tc.verifyEqual(stdlib.resolve("~/.."), stdlib.parent(h))
212-
213-
tc.verifyEqual(stdlib.resolve("nobody.txt"), stdlib.join(td, "nobody.txt"))
214-
tc.verifyEqual(stdlib.resolve("../nobody.txt"), stdlib.join(stdlib.parent(td), "nobody.txt"))
215-
216-
end
217-
218107

219108
function test_makedir(tc)
220109
import matlab.unittest.constraints.IsFolder

test/TestResolve.m

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
classdef TestResolve < matlab.unittest.TestCase
2+
3+
methods(Test)
4+
5+
6+
function test_absolute(tc)
7+
import matlab.unittest.fixtures.TemporaryFolderFixture
8+
import matlab.unittest.fixtures.CurrentFolderFixture
9+
import matlab.unittest.constraints.StartsWithSubstring
10+
import matlab.unittest.constraints.EndsWithSubstring
11+
12+
tc.assumeTrue(stdlib.has_java)
13+
14+
td = tc.applyFixture(TemporaryFolderFixture).Folder;
15+
tc.applyFixture(CurrentFolderFixture(td))
16+
17+
tc.verifyEqual(stdlib.absolute(""), stdlib.posix(td))
18+
tc.verifyEqual(stdlib.absolute("",""), stdlib.posix(td))
19+
tc.verifyEqual(stdlib.absolute("hi"), stdlib.join(td, "hi"))
20+
tc.verifyEqual(stdlib.absolute("", "hi"), stdlib.join(td, "hi"))
21+
tc.verifyEqual(stdlib.absolute("there", "hi"), stdlib.join(td, "hi/there"))
22+
23+
end
24+
25+
26+
27+
function test_canonical(tc)
28+
import matlab.unittest.fixtures.TemporaryFolderFixture
29+
import matlab.unittest.fixtures.CurrentFolderFixture
30+
import matlab.unittest.constraints.StartsWithSubstring
31+
import matlab.unittest.constraints.EndsWithSubstring
32+
33+
tc.assumeTrue(stdlib.has_java)
34+
35+
td = tc.applyFixture(TemporaryFolderFixture).Folder;
36+
tc.applyFixture(CurrentFolderFixture(td))
37+
38+
% all non-existing files
39+
40+
tc.verifyEqual(stdlib.canonical(""), ".")
41+
42+
pabs = stdlib.canonical('2foo');
43+
tc.verifyThat(pabs, StartsWithSubstring("2foo"))
44+
45+
par1 = stdlib.canonical("../2foo");
46+
tc.verifyThat(par1, StartsWithSubstring(".."))
47+
48+
pt1 = stdlib.canonical("bar/../2foo");
49+
tc.verifyEqual(pt1, "2foo")
50+
51+
% test existing file
52+
r = stdlib.parent(mfilename('fullpath'));
53+
tc.verifyEqual(stdlib.canonical(fullfile(r, "..")), stdlib.parent(r))
54+
55+
% on windows, ~ is expanded even without expanduser
56+
if ~ispc
57+
tc.verifyThat(stdlib.canonical("~", false), EndsWithSubstring("~"))
58+
end
59+
60+
h = stdlib.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+
tc.assumeTrue(stdlib.has_java)
79+
80+
td = tc.applyFixture(TemporaryFolderFixture).Folder;
81+
tc.applyFixture(CurrentFolderFixture(td))
82+
83+
% all non-existing files
84+
85+
tc.verifyEqual(stdlib.resolve(""), stdlib.posix(td))
86+
87+
pabs = stdlib.resolve('2foo');
88+
pabs2 = stdlib.resolve('4foo');
89+
tc.verifyThat(pabs, ~StartsWithSubstring("2"))
90+
tc.verifyTrue(strncmp(pabs, pabs2, 2))
91+
92+
par1 = stdlib.resolve("../2foo");
93+
tc.verifyNotEmpty(par1)
94+
tc.verifyThat(par1, ~ContainsSubstring(".."))
95+
96+
par2 = stdlib.resolve("../4foo");
97+
tc.verifyTrue(strncmp(par2, pabs2, 2))
98+
99+
pt1 = stdlib.resolve("bar/../2foo");
100+
tc.verifyNotEmpty(pt1)
101+
tc.verifyThat(pt1, ~ContainsSubstring(".."))
102+
103+
va = stdlib.resolve("2foo");
104+
vb = stdlib.resolve("4foo");
105+
tc.verifyThat(va, ~StartsWithSubstring("2"))
106+
tc.verifyTrue(strncmp(va, vb, 2))
107+
108+
% test existing file
109+
r = stdlib.parent(mfilename('fullpath'));
110+
rp = stdlib.parent(r);
111+
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))
112+
113+
h = stdlib.homedir;
114+
tc.verifyEqual(stdlib.resolve("~"), h)
115+
tc.verifyEqual(stdlib.resolve("~/"), h)
116+
tc.verifyEqual(stdlib.resolve("~/.."), stdlib.parent(h))
117+
118+
tc.verifyEqual(stdlib.resolve("nobody.txt"), stdlib.join(td, "nobody.txt"))
119+
tc.verifyEqual(stdlib.resolve("../nobody.txt"), stdlib.join(stdlib.parent(td), "nobody.txt"))
120+
121+
end
122+
123+
124+
end
125+
126+
end

0 commit comments

Comments
 (0)