@diplodoc/cli-tests 5.12.4 → 5.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/e2e/__snapshots__/pdf-page.spec.ts.snap +44 -4
- package/e2e/__snapshots__/regression.test.ts.snap +1 -1
- package/e2e/errors.spec.ts +11 -0
- package/e2e/pdf-page.spec.ts +19 -5
- package/mocks/errors/object-validation/input/index.md +3 -0
- package/mocks/errors/object-validation/input/toc.yaml +14 -0
- package/mocks/pdf-page/yfm-config/input/index.md +6 -0
- package/mocks/pdf-page/yfm-config/input/page1.md +3 -0
- package/mocks/pdf-page/yfm-config/input/page2.md +7 -0
- package/mocks/pdf-page/yfm-config/input/page3.md +1 -0
- package/mocks/pdf-page/yfm-config/input/toc.yaml +15 -0
- package/package.json +1 -1
- /package/mocks/pdf-page/{input → flag-enabled/input}/index.md +0 -0
- /package/mocks/pdf-page/{input → flag-enabled/input}/page1.md +0 -0
- /package/mocks/pdf-page/{input → flag-enabled/input}/page2.md +0 -0
- /package/mocks/pdf-page/{input → flag-enabled/input}/page3.md +0 -0
- /package/mocks/pdf-page/{input → flag-enabled/input}/toc.yaml +0 -0
- /package/mocks/pdf-page/{input → yfm-config/input}/.yfm +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`Pdf page mode >
|
|
3
|
+
exports[`Pdf page mode > creates a pdf folder when the .yfm option is specified > filelist 1`] = `
|
|
4
4
|
"[
|
|
5
5
|
"pdf-page-toc.js",
|
|
6
6
|
"pdf-page.html",
|
|
@@ -8,9 +8,9 @@ exports[`Pdf page mode > transforms links correctly > filelist 1`] = `
|
|
|
8
8
|
]"
|
|
9
9
|
`;
|
|
10
10
|
|
|
11
|
-
exports[`Pdf page mode >
|
|
11
|
+
exports[`Pdf page mode > creates a pdf folder when the .yfm option is specified 1`] = `"window.__DATA__.data.toc = {"title":"Skip html extension","href":"#index","items":[{"name":"Title 1","href":"#page1","id":"UUID"}],"path":"toc.yaml","id":"UUID"};"`;
|
|
12
12
|
|
|
13
|
-
exports[`Pdf page mode >
|
|
13
|
+
exports[`Pdf page mode > creates a pdf folder when the .yfm option is specified 2`] = `
|
|
14
14
|
"<!DOCTYPE html>
|
|
15
15
|
<html lang="ru" dir="ltr">
|
|
16
16
|
<head>
|
|
@@ -38,4 +38,44 @@ exports[`Pdf page mode > transforms links correctly 2`] = `
|
|
|
38
38
|
</html>"
|
|
39
39
|
`;
|
|
40
40
|
|
|
41
|
-
exports[`Pdf page mode >
|
|
41
|
+
exports[`Pdf page mode > creates a pdf folder when the .yfm option is specified 3`] = `"{"data":{"leading":false,"html":"<h2 data-original-article=\\"index.html\\">Header<a class=\\"yfm-anchor\\" aria-hidden=\\"true\\" href=\\"#index\\" id=\\"index\\"></a></h2><p>Content</p>/n<p><a href=\\"#page1\\">Link 1</a><br>/n<a href=\\"page2.html\\">Link 2</a></p>/n<hr class=\\"yfm-page__delimeter\\"><h2 data-original-article=\\"page1.html\\">Page 1<a class=\\"yfm-anchor\\" aria-hidden=\\"true\\" href=\\"#page1\\" id=\\"page1\\"></a></h2><p><a href=\\"page2.html#hash\\">Link</a></p>/n","headings":[],"meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}]},"title":"Skip html extension","toc":{"title":"Skip html extension","href":"index.html","items":[{"name":"Title 1","href":"page1.html","id":"UUID"}],"path":"toc.yaml","id":"UUID"}},"router":{"pathname":"pdf-page","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}"`;
|
|
42
|
+
|
|
43
|
+
exports[`Pdf page mode > creates a pdf folder when the --pdf flag is specified > filelist 1`] = `
|
|
44
|
+
"[
|
|
45
|
+
"pdf-page-toc.js",
|
|
46
|
+
"pdf-page.html",
|
|
47
|
+
"pdf-page.json"
|
|
48
|
+
]"
|
|
49
|
+
`;
|
|
50
|
+
|
|
51
|
+
exports[`Pdf page mode > creates a pdf folder when the --pdf flag is specified 1`] = `"window.__DATA__.data.toc = {"title":"Skip html extension","href":"#index","items":[{"name":"Title 1","href":"#page1","id":"UUID"}],"path":"toc.yaml","id":"UUID"};"`;
|
|
52
|
+
|
|
53
|
+
exports[`Pdf page mode > creates a pdf folder when the --pdf flag is specified 2`] = `
|
|
54
|
+
"<!DOCTYPE html>
|
|
55
|
+
<html lang="ru" dir="ltr">
|
|
56
|
+
<head>
|
|
57
|
+
<meta charset="utf-8">
|
|
58
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
59
|
+
<base href="./" />
|
|
60
|
+
<title>Skip html extension | Skip html extension</title>
|
|
61
|
+
<meta name="generator" content="Diplodoc Platform vDIPLODOC-VERSION">
|
|
62
|
+
<style type="text/css">html, body {min-height:100vh; height:100vh;}</style>
|
|
63
|
+
</head>
|
|
64
|
+
<body class="g-root g-root_theme_light">
|
|
65
|
+
<div id="root"></div>
|
|
66
|
+
<script type="application/json" id="diplodoc-state">
|
|
67
|
+
{"data":{"leading":false,"html":"<h2 data-original-article=\\"index.html\\">Header<a class=\\"yfm-anchor\\" aria-hidden=\\"true\\" href=\\"#index\\" id=\\"index\\"></a></h2><p>Content</p>/n<p><a href=\\"#page1\\">Link 1</a><br>/n<a href=\\"page2.html\\">Link 2</a></p>/n<hr class=\\"yfm-page__delimeter\\"><h2 data-original-article=\\"page1.html\\">Page 1<a class=\\"yfm-anchor\\" aria-hidden=\\"true\\" href=\\"#page1\\" id=\\"page1\\"></a></h2><p><a href=\\"page2.html#hash\\">Link</a></p>/n","headings":[],"meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}]},"title":"Skip html extension"},"router":{"pathname":"pdf-page","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
|
|
68
|
+
</script>
|
|
69
|
+
<script type="application/javascript">
|
|
70
|
+
const data = document.querySelector('script#diplodoc-state');
|
|
71
|
+
window.__DATA__ = JSON.parse((function unescape(string) {
|
|
72
|
+
return string.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
|
|
73
|
+
})(data.innerText));
|
|
74
|
+
window.STATIC_CONTENT = false;
|
|
75
|
+
</script>
|
|
76
|
+
<script type="application/javascript" defer src="pdf-page.html"></script>
|
|
77
|
+
</body>
|
|
78
|
+
</html>"
|
|
79
|
+
`;
|
|
80
|
+
|
|
81
|
+
exports[`Pdf page mode > creates a pdf folder when the --pdf flag is specified 3`] = `"{"data":{"leading":false,"html":"<h2 data-original-article=\\"index.html\\">Header<a class=\\"yfm-anchor\\" aria-hidden=\\"true\\" href=\\"#index\\" id=\\"index\\"></a></h2><p>Content</p>/n<p><a href=\\"#page1\\">Link 1</a><br>/n<a href=\\"page2.html\\">Link 2</a></p>/n<hr class=\\"yfm-page__delimeter\\"><h2 data-original-article=\\"page1.html\\">Page 1<a class=\\"yfm-anchor\\" aria-hidden=\\"true\\" href=\\"#page1\\" id=\\"page1\\"></a></h2><p><a href=\\"page2.html#hash\\">Link</a></p>/n","headings":[],"meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}]},"title":"Skip html extension","toc":{"title":"Skip html extension","href":"index.html","items":[{"name":"Title 1","href":"page1.html","id":"UUID"}],"path":"toc.yaml","id":"UUID"}},"router":{"pathname":"pdf-page","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}"`;
|
|
@@ -699,7 +699,7 @@ exports[`Regression > internal 29`] = `
|
|
|
699
699
|
<body class="g-root g-root_theme_light">
|
|
700
700
|
<div id="root"></div>
|
|
701
701
|
<script type="application/json" id="diplodoc-state">
|
|
702
|
-
{"data":{"leading":false,"html":"<p>Text {{not-var}} {{skip()}} default-var-value</p>/n<p>Text <code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-1">{{not-var}}</code> <code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-2">{{skip()}}</code> <code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-3">default-var-value</code></p>/n<p>Text</p>/n/n <div class=\\"yfm-clipboard\\">/n <pre><code class=\\"hljs\\">{{not-var}}/n/n{{skip()}}/n/ndefault-var-value/n</code></pre>/n/n <button class=\\"yfm-clipboard-button\\">/n <svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-clipboard-icon\\" data-animation=\\"9\\">/n <path fill=\\"currentColor\\" d=\\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\\"></path>/n <path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\">/n <animate id=\\"visibileAnimation-9\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin></animate>/n <animate id=\\"hideAnimation-9\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-9.end+1\\" fill=\\"freeze\\"></animate>/n </path>/n </svg>/n </button>/n </div>/n<p><code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-4">[not a link](./path/to/relative/file.md)</code></p>/n<h2 id=\\"subtitle\\"><a href=\\"1.html#subtitle\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"><span class=\\"visually-hidden\\" data-no-index=\\"true\\">Subtitle</span></a>Subtitle</h2>/n<p><a href=\\"mermaid.html\\">Mermaid usage</a></p>/n<p><a href=\\"mermaid.html#info\\">Mermaid info</a></p>/n<p><a href=\\"latex.html\\">Latex usage</a></p>/n<p><a href=\\"includes\\">noext-link</a></p>/n<p>Bob</p>/n
|
|
702
|
+
{"data":{"leading":false,"html":"<p>Text {{not-var}} {{skip()}} default-var-value</p>/n<p>Text <code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-1">{{not-var}}</code> <code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-2">{{skip()}}</code> <code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-3">default-var-value</code></p>/n<p>Text</p>/n/n <div class=\\"yfm-clipboard\\">/n <pre><code class=\\"hljs\\">{{not-var}}/n/n{{skip()}}/n/ndefault-var-value/n</code></pre>/n/n <button class=\\"yfm-clipboard-button\\">/n <svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-clipboard-icon\\" data-animation=\\"9\\">/n <path fill=\\"currentColor\\" d=\\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\\"></path>/n <path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\">/n <animate id=\\"visibileAnimation-9\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin></animate>/n <animate id=\\"hideAnimation-9\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-9.end+1\\" fill=\\"freeze\\"></animate>/n </path>/n </svg>/n </button>/n </div>/n<p><code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-4">[not a link](./path/to/relative/file.md)</code></p>/n<h2 id=\\"subtitle\\"><a href=\\"1.html#subtitle\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"><span class=\\"visually-hidden\\" data-no-index=\\"true\\">Subtitle</span></a>Subtitle</h2>/n<p><a href=\\"mermaid.html\\">Mermaid usage</a></p>/n<p><a href=\\"mermaid.html#info\\">Mermaid info</a></p>/n<p><a href=\\"latex.html\\">Latex usage</a></p>/n<p><a href=\\"includes\\">noext-link</a></p>/n<p>Bob</p>/n","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"vcsPath":"1.md"},"headings":[{"title":"Subtitle","href":"1.html#subtitle","level":2}],"title":"Title"},"router":{"pathname":"1","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
|
|
703
703
|
</script>
|
|
704
704
|
<script type="application/javascript">
|
|
705
705
|
const data = document.querySelector('script#diplodoc-state');
|
package/e2e/errors.spec.ts
CHANGED
|
@@ -31,6 +31,17 @@ describe('Errors', () => {
|
|
|
31
31
|
]);
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
+
test('mocks/errors/object-validation', ({html}: TestResult) => {
|
|
35
|
+
expectErrors(html, [
|
|
36
|
+
'ERR Invalid toc structure in toc.yaml -> toc.yaml at items[1].name: found [object Object] value',
|
|
37
|
+
'ERR Invalid toc structure in toc.yaml -> toc.yaml at items[2].href: found [object Object] value',
|
|
38
|
+
'ERR Invalid toc structure in toc.yaml -> toc.yaml at items[3].items[0].name: found [object Object] value',
|
|
39
|
+
'ERR Invalid toc structure in toc.yaml -> toc.yaml at items[4].title: found [object Object] value',
|
|
40
|
+
'ERR Invalid toc structure in toc.yaml -> toc.yaml at items[5].label: found [object Object] value',
|
|
41
|
+
'ERR Invalid toc structure in toc.yaml -> toc.yaml at items[6].navigation: found [object Object] value',
|
|
42
|
+
]);
|
|
43
|
+
});
|
|
44
|
+
|
|
34
45
|
it('translate extract with filtered links', async () => {
|
|
35
46
|
const {inputPath, outputPath} = getTestPaths('mocks/errors/extract-filtered-link');
|
|
36
47
|
|
package/e2e/pdf-page.spec.ts
CHANGED
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import {describe,
|
|
1
|
+
import {describe, test} from 'vitest';
|
|
2
2
|
|
|
3
3
|
import {TestAdapter, compareDirectories, getTestPaths} from '../fixtures';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const {inputPath, outputPath} = getTestPaths(
|
|
5
|
+
const generateMapTestTemplate = (testTitle: string, testRootPath: string, args: string) => {
|
|
6
|
+
test(testTitle, async () => {
|
|
7
|
+
const {inputPath, outputPath} = getTestPaths(testRootPath);
|
|
8
8
|
|
|
9
9
|
await TestAdapter.testBuildPass(inputPath, outputPath, {
|
|
10
10
|
md2md: false,
|
|
11
11
|
md2html: true,
|
|
12
|
-
args
|
|
12
|
+
args,
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
await compareDirectories(`${outputPath}/pdf`);
|
|
16
16
|
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
describe('Pdf page mode', () => {
|
|
20
|
+
generateMapTestTemplate(
|
|
21
|
+
'creates a pdf folder when the --pdf flag is specified',
|
|
22
|
+
'mocks/pdf-page/flag-enabled',
|
|
23
|
+
'-j2 --pdf',
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
generateMapTestTemplate(
|
|
27
|
+
'creates a pdf folder when the .yfm option is specified',
|
|
28
|
+
'mocks/pdf-page/yfm-config',
|
|
29
|
+
'-j2',
|
|
30
|
+
);
|
|
17
31
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
items:
|
|
2
|
+
- name: Valid Item
|
|
3
|
+
href: valid.md
|
|
4
|
+
- name: {{some-var}}
|
|
5
|
+
href: invalid-name.md
|
|
6
|
+
- name: Invalid Href Item
|
|
7
|
+
href: {{some-var}}
|
|
8
|
+
- name: Parent Item
|
|
9
|
+
items:
|
|
10
|
+
- name: {{some-var}}
|
|
11
|
+
href: nested-invalid.md
|
|
12
|
+
- title: {{some-var}}
|
|
13
|
+
- label: {{some-var}}
|
|
14
|
+
- navigation: {{some-var}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Page 3
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|