-
-
Notifications
You must be signed in to change notification settings - Fork 80
/
Copy pathreadExplainer.test.ts
68 lines (52 loc) · 2.54 KB
/
readExplainer.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { describe, expect, it } from "vitest";
import { readExplainer } from "./readExplainer.js";
describe(readExplainer, () => {
it("defaults to undefined when it cannot be found", async () => {
const actual = await readExplainer(() => Promise.resolve(`nothing.`));
expect(actual).toBeUndefined();
});
it("parses a line after badges", async () => {
const actual = await readExplainer(() =>
Promise.resolve(`
</p>
This is my project.
## Usage
.`),
);
expect(actual).toEqual(["This is my project."]);
});
it("parses multiple lines after badges", async () => {
const actual = await readExplainer(() =>
Promise.resolve(`
</p>
This is my project.
It is good.
## Usage
.`),
);
expect(actual).toEqual(["This is my project.", "It is good."]);
});
it("parses multiple lines after full badges and a logo", async () => {
const actual = await readExplainer(() =>
Promise.resolve(`
<p align="center">
<!-- prettier-ignore-start -->
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
<a href="#contributors" target="_blank"><img alt="👪 All Contributors: 52" src="https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-52-21bb42.svg" /></a>
<!-- ALL-CONTRIBUTORS-BADGE:END -->
<!-- prettier-ignore-end -->
<a href="https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CODE_OF_CONDUCT.md" target="_blank"><img alt="🤝 Code of Conduct: Kept" src="https://img.shields.io/badge/%F0%9F%A4%9D_code_of_conduct-kept-21bb42" /></a>
<a href="https://codecov.io/gh/JoshuaKGoldberg/create-typescript-app" target="_blank"><img alt="🧪 Coverage" src="https://img.shields.io/codecov/c/github/JoshuaKGoldberg/create-typescript-app?label=%F0%9F%A7%AA%20coverage" /></a>
<a href="https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/LICENSE.md" target="_blank"><img alt="📝 License: MIT" src="https://img.shields.io/badge/%F0%9F%93%9D_license-MIT-21bb42.svg"></a>
<a href="http://npmjs.com/package/create-typescript-app"><img alt="📦 npm version" src="https://img.shields.io/npm/v/create-typescript-app?color=21bb42&label=%F0%9F%93%A6%20npm" /></a>
<img alt="💪 TypeScript: Strict" src="https://img.shields.io/badge/%F0%9F%92%AA_typescript-strict-21bb42.svg" />
</p>
<img align="right" alt="Project logo: the TypeScript blue square with rounded corners, but a plus sign instead of 'TS'" height="128" src="./docs/create-typescript-app.png" width="128">
This is my project.
It is good.
## Usage
.`),
);
expect(actual).toEqual(["This is my project.", "It is good."]);
});
});