29 lines
958 B
JavaScript
29 lines
958 B
JavaScript
/* eslint-disable flowtype/require-valid-file-annotation */
|
|
import parseTitle from "./parseTitle";
|
|
|
|
it("should trim the title", () => {
|
|
expect(parseTitle(`# Lots of space `).title).toBe("Lots of space");
|
|
});
|
|
|
|
it("should extract first title", () => {
|
|
expect(parseTitle(`# Title one\n# Title two`).title).toBe("Title one");
|
|
});
|
|
|
|
it("should remove escape characters", () => {
|
|
expect(parseTitle(`# Thing \\- one`).title).toBe("Thing - one");
|
|
expect(parseTitle(`# \\[wip\\] Title`).title).toBe("[wip] Title");
|
|
expect(parseTitle(`# \\> Title`).title).toBe("> Title");
|
|
});
|
|
|
|
it("should parse emoji if first character", () => {
|
|
const parsed = parseTitle(`# 😀 Title`);
|
|
expect(parsed.title).toBe("😀 Title");
|
|
expect(parsed.emoji).toBe("😀");
|
|
});
|
|
|
|
it("should not parse emoji if not first character", () => {
|
|
const parsed = parseTitle(`# Title 🌈`);
|
|
expect(parsed.title).toBe("Title 🌈");
|
|
expect(parsed.emoji).toBe(undefined);
|
|
});
|