add source code viewer for different languages

This commit is contained in:
Maren Süwer
2018-10-29 13:19:16 +01:00
parent 370bcd1845
commit 7734b68d0b
3 changed files with 31 additions and 2 deletions

View File

@@ -86,10 +86,29 @@ class SourcecodeViewer extends React.Component<Props, State> {
} }
export function getLanguage(contentType: string) { export function getLanguage(contentType: string) {
return contentType.substring( const language = contentType.substring(
contentType.indexOf("/") + 1, contentType.indexOf("/") + 1,
contentType.length contentType.length
); );
let languageType;
switch (language) {
case "x-go":
languageType = "go";
break;
case "x-java-source":
languageType = "java";
break;
case "x-web-markdown":
languageType = "markdown";
break;
default:
languageType = language;
}
console.log(languageType);
return languageType;
} }
export function getContent(url: string) { export function getContent(url: string) {

View File

@@ -20,11 +20,20 @@ describe("get content", () => {
}); });
}); });
describe("get correct language Type", () => { describe("get correct language type", () => {
it("should return javascript", () => { it("should return javascript", () => {
expect(getLanguage("application/javascript")).toBe("javascript"); expect(getLanguage("application/javascript")).toBe("javascript");
}); });
it("should return text", () => { it("should return text", () => {
expect(getLanguage("text/plain")).toBe("plain"); expect(getLanguage("text/plain")).toBe("plain");
}); });
it("should return go", () => {
expect(getLanguage("text/x-go")).toBe("go");
});
it("should return java", () => {
expect(getLanguage("text/x-java-source")).toBe("java");
});
it("should return markdown", () => {
expect(getLanguage("text/x-web-markdown")).toBe("markdown");
});
}); });

View File

@@ -152,6 +152,7 @@ export function getContentType(url: string, state: any) {
return apiClient return apiClient
.head(url) .head(url)
.then(response => { .then(response => {
console.log(response.headers.get("Content-Type"));
return { type: response.headers.get("Content-Type") }; return { type: response.headers.get("Content-Type") };
}) })
.catch(err => { .catch(err => {