Skip to content

Commit dc67f63

Browse files
committed
Test and support switching versions from 'release'
1 parent d469cbc commit dc67f63

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

app/controllers/project-version.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ export default class ProjectVersionController extends Controller {
147147
project,
148148
targetVersion: ver.id,
149149
currentVersion: this.projectService.version,
150+
currentUrlVersion: this.projectService.getUrlVersion(),
150151
currentURL,
151152
currentAnchor: window.location.hash,
152153
}),
@@ -158,6 +159,7 @@ export function findEndingRoute({
158159
project,
159160
targetVersion,
160161
currentVersion,
162+
currentUrlVersion,
161163
currentURL,
162164
currentAnchor,
163165
}) {
@@ -167,7 +169,7 @@ export function findEndingRoute({
167169
if (shouldGoToVersionIndex(project, targetVersion, currentVersion)) {
168170
return `/${project}/${projectVersionID}`;
169171
} else {
170-
return `${currentURL.replace(getCompactVersion(currentVersion), projectVersionID)}${currentAnchor}`;
172+
return `${currentURL.replace(currentUrlVersion, projectVersionID)}${currentAnchor}`;
171173
}
172174
}
173175

tests/acceptance/switch-versions-test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,23 @@ module('Acceptance | version navigation', function (hooks) {
3838
);
3939
});
4040

41+
test('switching versions from release', async function (assert) {
42+
await visit('/ember/release/modules/@glimmer%2Ftracking');
43+
44+
assert.equal(
45+
currentURL(),
46+
'/ember/release/modules/@glimmer%2Ftracking',
47+
'navigated to release',
48+
);
49+
await selectChoose('.ember-power-select-trigger', '6.4');
50+
51+
assert.equal(
52+
currentURL(),
53+
'/ember/6.4/modules/@glimmer%2Ftracking',
54+
'navigated to v6.4 class',
55+
);
56+
});
57+
4158
test('switching namespace versions less than 2.16 should retain namespace page', async function (assert) {
4259
await visit('/ember/2.7/namespaces/Ember');
4360
await waitForSettled();

tests/unit/controllers/project-version-test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ module('Unit | Controller | project version', function (hooks) {
5353
project: 'ember',
5454
targetVersion: '6.4.0',
5555
currentVersion: '6.5.0',
56+
currentUrlVersion: '6.5',
5657
currentURL: '/ember/6.5/classes/Component',
5758
currentAnchor: '#didInsertElement',
5859
});
@@ -66,6 +67,7 @@ module('Unit | Controller | project version', function (hooks) {
6667
project: 'ember',
6768
targetVersion: '6.4.0',
6869
currentVersion: '6.5.0',
70+
currentUrlVersion: '6.5',
6971
currentURL: '/ember/6.5/modules/%40ember%2Fapplication',
7072
currentAnchor: '#classes',
7173
});
@@ -81,6 +83,7 @@ module('Unit | Controller | project version', function (hooks) {
8183
project: 'ember',
8284
targetVersion: '2.15.0',
8385
currentVersion: '2.16.0',
86+
currentUrlVersion: '2.16',
8487
currentURL: '/ember/2.16/classes/Component',
8588
currentAnchor: '#didInsertElement',
8689
});
@@ -91,6 +94,7 @@ module('Unit | Controller | project version', function (hooks) {
9194
project: 'ember',
9295
targetVersion: '2.16.0',
9396
currentVersion: '2.15.0',
97+
currentUrlVersion: '2.15',
9498
currentURL: '/ember/2.15/classes/Component',
9599
currentAnchor: '#didInsertElement',
96100
});
@@ -103,6 +107,7 @@ module('Unit | Controller | project version', function (hooks) {
103107
project: 'ember-data',
104108
targetVersion: '3.28.0',
105109
currentVersion: '4.0.0',
110+
currentUrlVersion: '4.0',
106111
currentURL: '/ember-data/4.0/classes/Adapter',
107112
currentAnchor: '',
108113
});
@@ -113,6 +118,7 @@ module('Unit | Controller | project version', function (hooks) {
113118
project: 'ember-data',
114119
targetVersion: '4.0.0',
115120
currentVersion: '3.28.0',
121+
currentUrlVersion: '3.28',
116122
currentURL: '/ember-data/3.28/classes/DS.Adapter',
117123
currentAnchor: '',
118124
});

0 commit comments

Comments
 (0)