fixed changeset urls without slash at the end

This commit is contained in:
Sebastian Sdorra
2018-10-18 11:13:14 +02:00
parent 4f647cb9e9
commit 978af39c43
4 changed files with 58 additions and 47 deletions

View File

@@ -5,6 +5,21 @@ export function withContextPath(path: string) {
return contextPath + path;
}
export function withEndingSlash(url: string) {
if (url.endsWith("/")) {
return url;
}
return url + "/";
}
export function concat(base: string, ...parts: string) {
let url = base;
for ( let p of parts) {
url = withEndingSlash(url) + p;
}
return url;
}
export function getPageFromMatch(match: any) {
let page = parseInt(match.params.page, 10);
if (isNaN(page) || !page) {

View File

@@ -1,5 +1,27 @@
// @flow
import { getPageFromMatch } from "./urls";
import { concat, getPageFromMatch, withEndingSlash } from "./urls";
describe("tests for withEndingSlash", () => {
it("should append missing slash", () => {
expect(withEndingSlash("abc")).toBe("abc/");
});
it("should not append a second slash", () => {
expect(withEndingSlash("abc/")).toBe("abc/");
});
});
describe("concat tests", () => {
it("should concat the parts to a single url", () => {
expect(concat("a")).toBe("a");
expect(concat("a", "b")).toBe("a/b");
expect(concat("a", "b", "c")).toBe("a/b/c");
});
});
describe("tests for getPageFromMatch", () => {
function createMatch(page: string) {