Skip to content

Commit 16bd67f

Browse files
committed
canonical/resolve: arrays for legacy < R2024a too
1 parent 999443c commit 16bd67f

File tree

4 files changed

+7
-9
lines changed

4 files changed

+7
-9
lines changed

+stdlib/canonical.m

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919
backend (1,:) string = ["native", "legacy"]
2020
end
2121

22-
if isscalar(p)
23-
fun = hbackend(backend, "canonical", 'R2024a');
22+
[fun, b] = hbackend(backend, "canonical", 'R2024a');
23+
24+
if isscalar(p) || b ~= "legacy"
2425
c = fun(p, strict);
2526
else
26-
c = stdlib.native.canonical(p, strict);
27+
c = arrayfun(fun, p, repmat(strict, size(p)));
2728
end
2829

2930
end

+stdlib/private/hbackend.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
% To save time, do not check that the function exists with which()
44

55

6-
function fun = hbackend(backend, name, minVersion)
6+
function [fun, m] = hbackend(backend, name, minVersion)
77
arguments
88
backend (1,:) string
99
name (1,1) string

test/TestCanonical.m

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,10 @@ function test_canonical(tc, p, backend)
3232
tc.verifyEqual(c, p{2})
3333
end
3434

35-
function test_canonical_array(tc)
36-
tc.assumeFalse(isMATLABReleaseOlderThan('R2024a'))
35+
function test_canonical_array(tc, backend)
3736

3837
in = ["", "hi", "/ok", "not-exist/a/.."];
39-
c = stdlib.native.canonical(in);
38+
c = stdlib.canonical(in, false, backend);
4039

4140
tc.verifyEqual(c, ["", "hi", filesep + "ok", "not-exist"])
4241
end

test/TestResolve.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,6 @@ function test_resolve_fullpath(tc, p)
7979
end
8080

8181
function test_resolve_array(tc)
82-
tc.assumeFalse(isMATLABReleaseOlderThan('R2024a'))
83-
8482
in = ["", "hi", "/ok", "not-exist/a/.."];
8583
c = stdlib.resolve(in);
8684

0 commit comments

Comments
 (0)