@diplodoc/cli-tests 5.23.0 → 5.24.0

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.
@@ -0,0 +1,73 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`Static files from _assets directory > Download link should be enabled > filelist 1`] = `
4
+ "[
5
+ "_assets/test.yaml",
6
+ "index.md",
7
+ "toc.yaml"
8
+ ]"
9
+ `;
10
+
11
+ exports[`Static files from _assets directory > Download link should be enabled > filelist 2`] = `
12
+ "[
13
+ "_assets/test.yaml",
14
+ "index.html",
15
+ "toc.js"
16
+ ]"
17
+ `;
18
+
19
+ exports[`Static files from _assets directory > Download link should be enabled 1`] = `
20
+ "---
21
+ metadata:
22
+ - name: generator
23
+ content: Diplodoc Platform vDIPLODOC-VERSION
24
+ vcsPath: index.md
25
+ ---
26
+ ### Download static file
27
+
28
+ Текст {% file src="_assets/test.yaml" name="Configuration File" %} потом текст
29
+
30
+
31
+ Текс <a href="_assets/test.yaml" download="Config">Скачать</a> потом текст
32
+
33
+ Текс [Download](_assets/test.yaml){download="Config"} потом текст
34
+ "
35
+ `;
36
+
37
+ exports[`Static files from _assets directory > Download link should be enabled 2`] = `
38
+ "title: Test123
39
+ href: index.md
40
+ path: toc.yaml
41
+ "
42
+ `;
43
+
44
+ exports[`Static files from _assets directory > Download link should be enabled 3`] = `
45
+ "<!DOCTYPE html>
46
+ <html lang="ru" dir="ltr">
47
+ <head>
48
+ <meta charset="utf-8">
49
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
50
+ <base href="./" />
51
+ <title>Test123</title>
52
+ <meta name="generator" content="Diplodoc Platform vDIPLODOC-VERSION">
53
+ <style type="text/css">html, body {min-height:100vh; height:100vh;}</style>
54
+ <link type="text/css" rel="stylesheet" href="_assets/file-extension.css"/>
55
+ </head>
56
+ <body class="g-root g-root_theme_light">
57
+ <div id="root"></div>
58
+ <script type="application/json" id="diplodoc-state">
59
+ {"data":{"leading":false,"html":"&lt;h3 id=\\"download-static-file\\"&gt;&lt;a href=\\"index.html#download-static-file\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Download static file&lt;/span&gt;&lt;/a&gt;Download static file&lt;/h3&gt;/n&lt;p&gt;Текст &lt;a href=\\"_assets/test.yaml\\" download=\\"Configuration File\\" class=\\"yfm-file\\"&gt;&lt;span class=\\"yfm-file__icon\\"&gt;&lt;/span&gt;Configuration File&lt;/a&gt; потом текст&lt;/p&gt;/n&lt;p&gt;Текс &lt;a href=\\"_assets/test.yaml\\" download=\\"Config\\"&gt;Скачать&lt;/a&gt; потом текст&lt;/p&gt;/n&lt;p&gt;Текс &lt;a href=\\"_assets/test.yaml\\" download=\\"Config\\"&gt;Download&lt;/a&gt; потом текст&lt;/p&gt;/n","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"style":["_assets/file-extension.css"],"vcsPath":"index.md"},"headings":[],"title":""},"router":{"pathname":"index","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
60
+ </script>
61
+ <script type="application/javascript">
62
+ const data = document.querySelector('script#diplodoc-state');
63
+ window.__DATA__ = JSON.parse((function unescape(string) {
64
+ return string.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&");
65
+ })(data.innerText));
66
+ window.STATIC_CONTENT = false;
67
+ </script>
68
+ <script type="application/javascript" defer src="toc.js"></script>
69
+ </body>
70
+ </html>"
71
+ `;
72
+
73
+ exports[`Static files from _assets directory > Download link should be enabled 4`] = `"window.__DATA__.data.toc = {"title":"Test123","href":"index.html","path":"toc.yaml","id":"UUID"};"`;
@@ -352,10 +352,17 @@ Text
352
352
  <!--{% include [For includes/deep.md](includes/deep.md) %}-->
353
353
  {% include [For includes/deep-hash.md](includes/deep-hash.md) %}
354
354
 
355
+ ^[?](*term)^
356
+
357
+ [[?](*term)](http://ya.ru)
358
+
359
+
355
360
  Link after include
356
361
  [Subtitle](./1.md#subtitle)
357
362
 
358
363
  Link after include
364
+
365
+ [*term]: Test terms
359
366
  "
360
367
  `;
361
368
 
@@ -833,7 +840,7 @@ exports[`Regression > internal 33`] = `
833
840
  <body class="g-root g-root_theme_light">
834
841
  <div id="root"></div>
835
842
  <script type="application/json" id="diplodoc-state">
836
- {"data":{"leading":false,"html":"&lt;p&gt;Text {{not-var}} {{skip()}} default-var-value&lt;/p&gt;/n&lt;p&gt;Text &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-1"&gt;{{not-var}}&lt;/code&gt; &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-2"&gt;{{skip()}}&lt;/code&gt; &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-3"&gt;default-var-value&lt;/code&gt;&lt;/p&gt;/n&lt;p&gt;Text&lt;/p&gt;/n/n &lt;div class=\\"yfm-clipboard\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs\\"&gt;{{not-var}}/n/n{{skip()}}/n/ndefault-var-value/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;button class=\\"yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-clipboard-icon\\" data-animation=\\"9\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-9\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-9\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-9.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n&lt;p&gt;&lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-4"&gt;[not a link](./path/to/relative/file.md)&lt;/code&gt;&lt;/p&gt;/n&lt;h2 id=\\"subtitle\\"&gt;&lt;a href=\\"1.html#subtitle\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Subtitle&lt;/span&gt;&lt;/a&gt;Subtitle&lt;/h2&gt;/n&lt;p&gt;&lt;a href=\\"mermaid.html\\"&gt;Mermaid usage&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"mermaid.html#info\\"&gt;Mermaid info&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"latex.html\\"&gt;Latex usage&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"includes\\"&gt;noext-link&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;Bob&lt;/p&gt;/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}}
843
+ {"data":{"leading":false,"html":"&lt;p&gt;Text {{not-var}} {{skip()}} default-var-value&lt;/p&gt;/n&lt;p&gt;Text &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-1"&gt;{{not-var}}&lt;/code&gt; &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-2"&gt;{{skip()}}&lt;/code&gt; &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-3"&gt;default-var-value&lt;/code&gt;&lt;/p&gt;/n&lt;p&gt;Text&lt;/p&gt;/n/n &lt;div class=\\"yfm-code-floating-container\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs\\"&gt;{{not-var}}/n/n{{skip()}}/n/ndefault-var-value/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;div class=\\"yfm-code-floating\\"&gt;/n /n &lt;button role=\\"button\\" class=\\"yfm-code-button yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-code-icon yfm-clipboard-icon\\" data-animation=\\"9\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-9\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-9\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-9.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n &lt;/div&gt;/n&lt;p&gt;&lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-4"&gt;[not a link](./path/to/relative/file.md)&lt;/code&gt;&lt;/p&gt;/n&lt;h2 id=\\"subtitle\\"&gt;&lt;a href=\\"1.html#subtitle\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Subtitle&lt;/span&gt;&lt;/a&gt;Subtitle&lt;/h2&gt;/n&lt;p&gt;&lt;a href=\\"mermaid.html\\"&gt;Mermaid usage&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"mermaid.html#info\\"&gt;Mermaid info&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"latex.html\\"&gt;Latex usage&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"includes\\"&gt;noext-link&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;Bob&lt;/p&gt;/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}}
837
844
  </script>
838
845
  <script type="application/javascript">
839
846
  const data = document.querySelector('script#diplodoc-state');
@@ -1169,7 +1176,7 @@ exports[`Regression > internal 45`] = `
1169
1176
  <body class="g-root g-root_theme_light">
1170
1177
  <div id="root"></div>
1171
1178
  <script type="application/json" id="diplodoc-state">
1172
- {"data":{"leading":false,"html":"&lt;p&gt;Text&lt;/p&gt;/n&lt;p&gt;Bob&lt;/p&gt;/n&lt;p&gt;Test&lt;/p&gt;/n&lt;h3 id=\\"f1\\"&gt;&lt;a href=\\"includes.html#f1\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;F1&lt;/span&gt;&lt;/a&gt;F1&lt;/h3&gt;/n&lt;p&gt;Content F1&lt;/p&gt;/n&lt;p id=\\"p1\\"&gt;Some paragraph with anchor&lt;/p&gt;/n/n&lt;p&gt;Bob&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"latex.html\\"&gt;&lt;img src=\\"_assets/3.png\\" alt=\\"img 3\\" /&gt;&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;Link after include&lt;br /&gt;/n&lt;a href=\\"1.html#subtitle\\"&gt;Subtitle&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;Link after include&lt;/p&gt;/n","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"vcsPath":"includes.md"},"headings":[],"title":""},"router":{"pathname":"includes","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
1179
+ {"data":{"leading":false,"html":"&lt;p&gt;Text&lt;/p&gt;/n&lt;p&gt;Bob&lt;/p&gt;/n&lt;p&gt;Test&lt;/p&gt;/n&lt;h3 id=\\"f1\\"&gt;&lt;a href=\\"includes.html#f1\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;F1&lt;/span&gt;&lt;/a&gt;F1&lt;/h3&gt;/n&lt;p&gt;Content F1&lt;/p&gt;/n&lt;p id=\\"p1\\"&gt;Some paragraph with anchor&lt;/p&gt;/n/n&lt;p&gt;Bob&lt;/p&gt;/n&lt;p&gt;&lt;a href=\\"latex.html\\"&gt;&lt;img src=\\"_assets/3.png\\" alt=\\"img 3\\" /&gt;&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;&lt;sup&gt;&lt;i class=\\"yfm yfm-term_title\\" term-key=\\":term\\" role=\\"button\\" aria-describedby=\\":term_element\\" tabindex=\\"0\\" id=\\"vTERM-ID\\"&gt;?&lt;/i&gt;&lt;/sup&gt;&lt;/p&gt;/n&lt;p&gt;[&lt;i class=\\"yfm yfm-term_title\\" term-key=\\":term\\" role=\\"button\\" aria-describedby=\\":term_element\\" tabindex=\\"0\\" id=\\"vTERM-ID\\"&gt;?&lt;/i&gt;](http://ya.ru)&lt;/p&gt;/n&lt;p&gt;Link after include&lt;br /&gt;/n&lt;a href=\\"1.html#subtitle\\"&gt;Subtitle&lt;/a&gt;&lt;/p&gt;/n&lt;p&gt;Link after include&lt;/p&gt;/n&lt;dfn class=\\"yfm yfm-term_dfn\\" id=\\":term_element\\" role=\\"dialog\\"&gt;&lt;p&gt;Test terms&lt;/p&gt;/n&lt;/dfn&gt;","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"vcsPath":"includes.md"},"headings":[],"title":""},"router":{"pathname":"includes","depth":1,"base":"./"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
1173
1180
  </script>
1174
1181
  <script type="application/javascript">
1175
1182
  const data = document.querySelector('script#diplodoc-state');
@@ -1340,7 +1347,7 @@ exports[`Regression > internal 52`] = `
1340
1347
  <body class="g-root g-root_theme_light">
1341
1348
  <div id="root"></div>
1342
1349
  <script type="application/json" id="diplodoc-state">
1343
- {"data":{"leading":false,"html":"&lt;h1&gt;OpenAPI definition&lt;/h1&gt;/n&lt;p&gt;&lt;samp&gt;version: v0&lt;/samp&gt;&lt;/p&gt;/n&lt;h2 id=\\"sections\\"&gt;&lt;a href=\\"openapi/index.html#sections\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Sections&lt;/span&gt;&lt;/a&gt;Sections&lt;/h2&gt;/n&lt;ul&gt;/n&lt;li&gt;&lt;a href=\\"openapi/test-controller/index.html\\"&gt;test-controller&lt;/a&gt;&lt;/li&gt;/n&lt;/ul&gt;/n&lt;h2 id=\\"specification\\"&gt;&lt;a href=\\"openapi/index.html#specification\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Specification&lt;/span&gt;&lt;/a&gt;Specification&lt;/h2&gt;/n&lt;details class=\\"yfm-cut\\"&gt;&lt;summary class=\\"yfm-cut-title\\"&gt;Open API&lt;/summary&gt;&lt;div class=\\"yfm-cut-content\\"&gt;/n &lt;div class=\\"yfm-clipboard\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs text\\"&gt;{/n \\"openapi\\": \\"3.0.1\\",/n \\"info\\": {/n \\"title\\": \\"OpenAPI definition\\",/n \\"version\\": \\"v0\\"/n },/n \\"servers\\": [/n {/n \\"url\\": \\"http://localhost:8080\\",/n \\"description\\": \\"Generated server url\\"/n }/n ],/n \\"paths\\": {/n \\"/test\\": {/n \\"get\\": {/n \\"tags\\": [/n \\"test-controller\\"/n ],/n \\"summary\\": \\"Simple get operation. тест новой верстки 3\\",/n \\"description\\": \\"Defines a simple get operation with no inputs and a complex\\",/n \\"operationId\\": \\"getWithPayloadResponse\\",/n \\"responses\\": {/n \\"200\\": {/n \\"description\\": \\"200!!!!\\",/n \\"content\\": {/n \\"application/json\\": {/n \\"schema\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"A\\": {/n \\"type\\": \\"string\\"/n }/n }/n }/n }/n }/n }/n }/n }/n }/n },/n \\"components\\": {/n \\"schemas\\": {/n \\"RecurceTop\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"A\\": {/n \\"type\\": \\"string\\"/n }/n }/n },/n \\"RecurceMiddle\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"B\\": {/n \\"type\\": \\"array\\",/n \\"items\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"A\\": {/n \\"type\\": \\"string\\"/n }/n }/n }/n }/n }/n }/n }/n }/n}/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;button class=\\"yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-clipboard-icon\\" data-animation=\\"25\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-25\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-25\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-25.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n&lt;/div&gt;&lt;/details&gt;","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"style":["_assets/cut-extension.css"],"script":["_assets/cut-extension.js"],"vcsPath":"openapi/index.md"},"headings":[{"title":"Sections","href":"openapi/index.html#sections","level":2},{"title":"Specification","href":"openapi/index.html#specification","level":2}],"title":""},"router":{"pathname":"openapi/index","depth":2,"base":"../"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
1350
+ {"data":{"leading":false,"html":"&lt;h1&gt;OpenAPI definition&lt;/h1&gt;/n&lt;p&gt;&lt;samp&gt;version: v0&lt;/samp&gt;&lt;/p&gt;/n&lt;h2 id=\\"sections\\"&gt;&lt;a href=\\"openapi/index.html#sections\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Sections&lt;/span&gt;&lt;/a&gt;Sections&lt;/h2&gt;/n&lt;ul&gt;/n&lt;li&gt;&lt;a href=\\"openapi/test-controller/index.html\\"&gt;test-controller&lt;/a&gt;&lt;/li&gt;/n&lt;/ul&gt;/n&lt;h2 id=\\"specification\\"&gt;&lt;a href=\\"openapi/index.html#specification\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Specification&lt;/span&gt;&lt;/a&gt;Specification&lt;/h2&gt;/n&lt;details class=\\"yfm-cut\\"&gt;&lt;summary class=\\"yfm-cut-title\\"&gt;Open API&lt;/summary&gt;&lt;div class=\\"yfm-cut-content\\"&gt;/n &lt;div class=\\"yfm-code-floating-container\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs text\\"&gt;{/n \\"openapi\\": \\"3.0.1\\",/n \\"info\\": {/n \\"title\\": \\"OpenAPI definition\\",/n \\"version\\": \\"v0\\"/n },/n \\"servers\\": [/n {/n \\"url\\": \\"http://localhost:8080\\",/n \\"description\\": \\"Generated server url\\"/n }/n ],/n \\"paths\\": {/n \\"/test\\": {/n \\"get\\": {/n \\"tags\\": [/n \\"test-controller\\"/n ],/n \\"summary\\": \\"Simple get operation. тест новой верстки 3\\",/n \\"description\\": \\"Defines a simple get operation with no inputs and a complex\\",/n \\"operationId\\": \\"getWithPayloadResponse\\",/n \\"responses\\": {/n \\"200\\": {/n \\"description\\": \\"200!!!!\\",/n \\"content\\": {/n \\"application/json\\": {/n \\"schema\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"A\\": {/n \\"type\\": \\"string\\"/n }/n }/n }/n }/n }/n }/n }/n }/n }/n },/n \\"components\\": {/n \\"schemas\\": {/n \\"RecurceTop\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"A\\": {/n \\"type\\": \\"string\\"/n }/n }/n },/n \\"RecurceMiddle\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"B\\": {/n \\"type\\": \\"array\\",/n \\"items\\": {/n \\"type\\": \\"object\\",/n \\"properties\\": {/n \\"A\\": {/n \\"type\\": \\"string\\"/n }/n }/n }/n }/n }/n }/n }/n }/n}/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;div class=\\"yfm-code-floating\\"&gt;/n /n &lt;button role=\\"button\\" class=\\"yfm-code-button yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-code-icon yfm-clipboard-icon\\" data-animation=\\"25\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-25\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-25\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-25.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n &lt;/div&gt;/n&lt;/div&gt;&lt;/details&gt;","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"style":["_assets/cut-extension.css"],"script":["_assets/cut-extension.js"],"vcsPath":"openapi/index.md"},"headings":[{"title":"Sections","href":"openapi/index.html#sections","level":2},{"title":"Specification","href":"openapi/index.html#specification","level":2}],"title":""},"router":{"pathname":"openapi/index","depth":2,"base":"../"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
1344
1351
  </script>
1345
1352
  <script type="application/javascript">
1346
1353
  const data = document.querySelector('script#diplodoc-state');
@@ -1370,7 +1377,7 @@ exports[`Regression > internal 53`] = `
1370
1377
  <body class="g-root g-root_theme_light">
1371
1378
  <div id="root"></div>
1372
1379
  <script type="application/json" id="diplodoc-state">
1373
- {"data":{"leading":false,"html":"&lt;div class=\\"openapi\\"&gt;/n&lt;h1&gt;Simple get operation. тест новой верстки 3&lt;/h1&gt;/n/n&lt;p&gt;Defines a simple get operation with no inputs and a complex&lt;/p&gt;/n&lt;h2 id=\\"request\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#request\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Request&lt;/span&gt;&lt;/a&gt;Request&lt;/h2&gt;/n&lt;div class=\\"openapi__requests\\"&gt;/n&lt;div class=\\"openapi__request__wrapper\\" style=\\"--method:var(--dc-openapi-methods-get);margin-bottom:12px\\"&gt;/n&lt;div class=\\"openapi__request\\"&gt;/n&lt;p class=\\"openapi__method\\"&gt;GET&lt;/p&gt;/n/n &lt;div class=\\"yfm-clipboard\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs text\\"&gt;http://localhost:8080/test/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;button class=\\"yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-clipboard-icon\\" data-animation=\\"17\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-17\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-17\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-17.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n&lt;/div&gt;/n&lt;p&gt;Generated server url&lt;/p&gt;/n&lt;/div&gt;/n&lt;/div&gt;/n&lt;h2 id=\\"responses\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#responses\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Responses&lt;/span&gt;&lt;/a&gt;Responses&lt;/h2&gt;/n&lt;div class=\\"openapi__response__code__200\\"&gt;/n&lt;h2 id=\\"200-ok\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#200-ok\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;200 OK&lt;/span&gt;&lt;/a&gt;200 OK&lt;/h2&gt;/n&lt;p&gt;200!!!!&lt;/p&gt;/n&lt;div class=\\"openapi-entity\\"&gt;/n&lt;h3 id=\\"body\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#body\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Body&lt;/span&gt;&lt;/a&gt;Body&lt;/h3&gt;/n&lt;details class=\\"yfm-cut\\"&gt;&lt;summary class=\\"yfm-cut-title\\"&gt;application/json&lt;/summary&gt;&lt;div class=\\"yfm-cut-content\\"&gt;/n &lt;div class=\\"yfm-clipboard\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs json\\"&gt;&lt;span class=\\"hljs-punctuation\\"&gt;{&lt;/span&gt;/n &lt;span class=\\"hljs-attr\\"&gt;\\"A\\"&lt;/span&gt;&lt;span class=\\"hljs-punctuation\\"&gt;:&lt;/span&gt; &lt;span class=\\"hljs-string\\"&gt;\\"example\\"&lt;/span&gt;/n&lt;span class=\\"hljs-punctuation\\"&gt;}&lt;/span&gt;/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;button class=\\"yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-clipboard-icon\\" data-animation=\\"43\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-43\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-43\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-43.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n&lt;/div&gt;&lt;/details&gt;&lt;table class=\\"json-schema-properties\\"&gt;/n&lt;tbody&gt;/n&lt;tr&gt;/n&lt;td&gt;/n&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;td&gt;/n&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;/tr&gt;/n&lt;tr&gt;/n&lt;td class=\\"table-cell\\"&gt;/n&lt;p&gt;&lt;em class=\\"json-schema-reset json-schema-property\\"&gt;A&lt;/em&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;td class=\\"table-cell\\"&gt;/n&lt;p&gt;&lt;strong&gt;Type&lt;/strong&gt;: string&lt;/p&gt;/n&lt;p&gt;&lt;em class=\\"json-schema-reset json-schema-example\\"&gt;Example:&lt;/em&gt; &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-1"&gt;example&lt;/code&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;/tr&gt;/n&lt;/tbody&gt;/n&lt;/table&gt;/n&lt;/div&gt;/n&lt;/div&gt;/n&lt;/div&gt;/n&lt;dfn class=\\"yfm yfm-term_dfn\\" id=\\":Deprecated_element\\" role=\\"dialog\\"&gt;&lt;p&gt;No longer supported, please use an alternative and newer version.&lt;/p&gt;/n&lt;/dfn&gt;","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"style":["_assets/cut-extension.css"],"script":["_assets/cut-extension.js"],"vcsPath":"openapi/test-controller/getWithPayloadResponse.md"},"headings":[{"title":"Request","href":"openapi/test-controller/getWithPayloadResponse.html#request","level":2},{"title":"Responses","href":"openapi/test-controller/getWithPayloadResponse.html#responses","level":2},{"title":"200 OK","href":"openapi/test-controller/getWithPayloadResponse.html#200-ok","level":2,"items":[{"title":"Body","href":"openapi/test-controller/getWithPayloadResponse.html#body","level":3}]}],"title":""},"router":{"pathname":"openapi/test-controller/getWithPayloadResponse","depth":3,"base":"../../"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
1380
+ {"data":{"leading":false,"html":"&lt;div class=\\"openapi\\"&gt;/n&lt;h1&gt;Simple get operation. тест новой верстки 3&lt;/h1&gt;/n/n&lt;p&gt;Defines a simple get operation with no inputs and a complex&lt;/p&gt;/n&lt;h2 id=\\"request\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#request\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Request&lt;/span&gt;&lt;/a&gt;Request&lt;/h2&gt;/n&lt;div class=\\"openapi__requests\\"&gt;/n&lt;div class=\\"openapi__request__wrapper\\" style=\\"--method:var(--dc-openapi-methods-get);margin-bottom:12px\\"&gt;/n&lt;div class=\\"openapi__request\\"&gt;/n&lt;p class=\\"openapi__method\\"&gt;GET&lt;/p&gt;/n/n &lt;div class=\\"yfm-code-floating-container\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs text\\"&gt;http://localhost:8080/test/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;div class=\\"yfm-code-floating\\"&gt;/n /n &lt;button role=\\"button\\" class=\\"yfm-code-button yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-code-icon yfm-clipboard-icon\\" data-animation=\\"17\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-17\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-17\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-17.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n &lt;/div&gt;/n&lt;/div&gt;/n&lt;p&gt;Generated server url&lt;/p&gt;/n&lt;/div&gt;/n&lt;/div&gt;/n&lt;h2 id=\\"responses\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#responses\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Responses&lt;/span&gt;&lt;/a&gt;Responses&lt;/h2&gt;/n&lt;div class=\\"openapi__response__code__200\\"&gt;/n&lt;h2 id=\\"200-ok\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#200-ok\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;200 OK&lt;/span&gt;&lt;/a&gt;200 OK&lt;/h2&gt;/n&lt;p&gt;200!!!!&lt;/p&gt;/n&lt;div class=\\"openapi-entity\\"&gt;/n&lt;h3 id=\\"body\\"&gt;&lt;a href=\\"openapi/test-controller/getWithPayloadResponse.html#body\\" class=\\"yfm-anchor\\" aria-hidden=\\"true\\"&gt;&lt;span class=\\"visually-hidden\\" data-no-index=\\"true\\"&gt;Body&lt;/span&gt;&lt;/a&gt;Body&lt;/h3&gt;/n&lt;details class=\\"yfm-cut\\"&gt;&lt;summary class=\\"yfm-cut-title\\"&gt;application/json&lt;/summary&gt;&lt;div class=\\"yfm-cut-content\\"&gt;/n &lt;div class=\\"yfm-code-floating-container\\"&gt;/n &lt;pre&gt;&lt;code class=\\"hljs json\\"&gt;&lt;span class=\\"hljs-punctuation\\"&gt;{&lt;/span&gt;/n &lt;span class=\\"hljs-attr\\"&gt;\\"A\\"&lt;/span&gt;&lt;span class=\\"hljs-punctuation\\"&gt;:&lt;/span&gt; &lt;span class=\\"hljs-string\\"&gt;\\"example\\"&lt;/span&gt;/n&lt;span class=\\"hljs-punctuation\\"&gt;}&lt;/span&gt;/n&lt;/code&gt;&lt;/pre&gt;/n/n &lt;div class=\\"yfm-code-floating\\"&gt;/n /n &lt;button role=\\"button\\" class=\\"yfm-code-button yfm-clipboard-button\\"&gt;/n &lt;svg width=\\"16\\" height=\\"16\\" viewBox=\\"0 0 24 24\\" class=\\"yfm-code-icon yfm-clipboard-icon\\" data-animation=\\"43\\"&gt;/n &lt;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\\"&gt;&lt;/path&gt;/n &lt;path stroke=\\"currentColor\\" fill=\\"transparent\\" stroke-width=\\"1.5\\" d=\\"M9.5 13l3 3l5 -5\\" visibility=\\"hidden\\"&gt;/n &lt;animate id=\\"visibileAnimation-43\\" attributeName=\\"visibility\\" from=\\"hidden\\" to=\\"visible\\" dur=\\"0.2s\\" fill=\\"freeze\\" begin&gt;&lt;/animate&gt;/n &lt;animate id=\\"hideAnimation-43\\" attributeName=\\"visibility\\" from=\\"visible\\" to=\\"hidden\\" dur=\\"1s\\" begin=\\"visibileAnimation-43.end+1\\" fill=\\"freeze\\"&gt;&lt;/animate&gt;/n &lt;/path&gt;/n &lt;/svg&gt;/n &lt;/button&gt;/n &lt;/div&gt;/n &lt;/div&gt;/n&lt;/div&gt;&lt;/details&gt;&lt;table class=\\"json-schema-properties\\"&gt;/n&lt;tbody&gt;/n&lt;tr&gt;/n&lt;td&gt;/n&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;td&gt;/n&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;/tr&gt;/n&lt;tr&gt;/n&lt;td class=\\"table-cell\\"&gt;/n&lt;p&gt;&lt;em class=\\"json-schema-reset json-schema-property\\"&gt;A&lt;/em&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;td class=\\"table-cell\\"&gt;/n&lt;p&gt;&lt;strong&gt;Type&lt;/strong&gt;: string&lt;/p&gt;/n&lt;p&gt;&lt;em class=\\"json-schema-reset json-schema-example\\"&gt;Example:&lt;/em&gt; &lt;code class=\\"yfm-clipboard-inline-code\\" role=\\"button\\" tabindex=\\"0\\" id="inline-code-id-1"&gt;example&lt;/code&gt;&lt;/p&gt;/n&lt;/td&gt;/n&lt;/tr&gt;/n&lt;/tbody&gt;/n&lt;/table&gt;/n&lt;/div&gt;/n&lt;/div&gt;/n&lt;/div&gt;/n&lt;dfn class=\\"yfm yfm-term_dfn\\" id=\\":Deprecated_element\\" role=\\"dialog\\"&gt;&lt;p&gt;No longer supported, please use an alternative and newer version.&lt;/p&gt;/n&lt;/dfn&gt;","meta":{"metadata":[{"name":"generator","content":"Diplodoc Platform vDIPLODOC-VERSION"}],"style":["_assets/cut-extension.css"],"script":["_assets/cut-extension.js"],"vcsPath":"openapi/test-controller/getWithPayloadResponse.md"},"headings":[{"title":"Request","href":"openapi/test-controller/getWithPayloadResponse.html#request","level":2},{"title":"Responses","href":"openapi/test-controller/getWithPayloadResponse.html#responses","level":2},{"title":"200 OK","href":"openapi/test-controller/getWithPayloadResponse.html#200-ok","level":2,"items":[{"title":"Body","href":"openapi/test-controller/getWithPayloadResponse.html#body","level":3}]}],"title":""},"router":{"pathname":"openapi/test-controller/getWithPayloadResponse","depth":3,"base":"../../"},"lang":"ru","langs":["ru"],"viewerInterface":{"toc":true,"search":true,"feedback":true}}
1374
1381
  </script>
1375
1382
  <script type="application/javascript">
1376
1383
  const data = document.querySelector('script#diplodoc-state');
@@ -61,6 +61,15 @@ describe('Errors', () => {
61
61
  ['--max-asset-size', '2K'],
62
62
  );
63
63
 
64
+ test('mocks/errors/invalid-frontmatter', ({md, html}: TestResult) => {
65
+ expectErrors(md, [
66
+ 'ERR index.md: 2: YFM017 / invalid front matter format [Reason: "duplicated mapping key"; Line: 2; Key: "title"]',
67
+ ]);
68
+ expectErrors(html, [
69
+ 'ERR index.md: 2: YFM017 / invalid front matter format [Reason: "duplicated mapping key"; Line: 2; Key: "title"]',
70
+ ]);
71
+ });
72
+
64
73
  it('translate extract with filtered links', async () => {
65
74
  const {inputPath, outputPath} = getTestPaths('mocks/errors/extract-filtered-link');
66
75
 
@@ -0,0 +1,21 @@
1
+ import {describe, test} from 'vitest';
2
+
3
+ import {TestAdapter, compareDirectories, getTestPaths} from '../fixtures';
4
+
5
+ describe('Static files from _assets directory', () => {
6
+ test('Download link should be enabled', async () => {
7
+ const {inputPath, outputPath} = getTestPaths('mocks/files');
8
+
9
+ await TestAdapter.testBuildPass(inputPath, outputPath, {
10
+ md2md: true,
11
+ md2html: false,
12
+ });
13
+ await compareDirectories(outputPath);
14
+
15
+ await TestAdapter.testBuildPass(outputPath, outputPath + '-html', {
16
+ md2md: false,
17
+ md2html: true,
18
+ });
19
+ await compareDirectories(outputPath + '-html');
20
+ });
21
+ });
@@ -1,7 +1,26 @@
1
- import {describe, test} from 'vitest';
1
+ import {readFileSync, readdirSync} from 'node:fs';
2
+ import {join} from 'node:path';
3
+ import {describe, expect, test} from 'vitest';
2
4
 
3
5
  import {TestAdapter, compareDirectories, getTestPaths} from '../fixtures';
4
6
 
7
+ function findFile(dir: string, predicate: (name: string) => boolean): string | null {
8
+ try {
9
+ for (const name of readdirSync(dir, {withFileTypes: true})) {
10
+ const full = join(dir, name.name);
11
+ if (name.isDirectory()) {
12
+ const found = findFile(full, predicate);
13
+ if (found) return found;
14
+ } else if (predicate(name.name)) {
15
+ return full;
16
+ }
17
+ }
18
+ } catch {
19
+ return null;
20
+ }
21
+ return null;
22
+ }
23
+
5
24
  const generateMapTestTemplate = (
6
25
  testTitle: string,
7
26
  testRootPath: string,
@@ -22,4 +41,38 @@ describe('Allow load custom resources', () => {
22
41
  generateMapTestTemplate('md2html with metadata', 'mocks/metadata/md2html-with-metadata', {
23
42
  md2md: false,
24
43
  });
44
+
45
+ test('include file with csp metadata does not leak frontmatter into rendered HTML (two-step build)', async () => {
46
+ const {inputPath, outputPath} = getTestPaths('mocks/metadata/include-with-csp-meta');
47
+
48
+ // Step 1: md2md — include files get CSP frontmatter from config resources
49
+ await TestAdapter.testBuildPass(inputPath, outputPath, {
50
+ md2md: true,
51
+ md2html: false,
52
+ });
53
+
54
+ // Verify that md2md wrote frontmatter to the include file
55
+ const mdIncludePath = findFile(
56
+ outputPath,
57
+ (n) => n.includes('support') && n.endsWith('.md'),
58
+ );
59
+ expect(mdIncludePath).toBeTruthy();
60
+ const mdContent = readFileSync(mdIncludePath!, 'utf8');
61
+ expect(mdContent).toMatch(/^---/);
62
+ expect(mdContent).toMatch(/csp:/);
63
+
64
+ // Step 2: md2html on md2md output — include frontmatter must not leak into HTML
65
+ await TestAdapter.testBuildPass(outputPath, outputPath + '-html', {
66
+ md2md: false,
67
+ md2html: true,
68
+ });
69
+
70
+ const htmlPath = findFile(outputPath + '-html', (n) => n === 'page.html');
71
+ expect(htmlPath).toBeTruthy();
72
+ const html = readFileSync(htmlPath!, 'utf8');
73
+
74
+ expect(html).not.toMatch(/style-src:\s*unsafe-inline/);
75
+ expect(html).not.toMatch(/connect-src:\s*uaas\.yandex\.ru/);
76
+ expect(html).toMatch(/Support content only/);
77
+ }, 45000);
25
78
  });
@@ -33,5 +33,7 @@ describe('Regression', () => {
33
33
  - not_var liquid syntax
34
34
  - normalize leading hrefs
35
35
  - empty href in toc item
36
+ - term inside superscript: ^[?](*term)^
37
+ - term inside link text: [[?](*term)](url)
36
38
  `);
37
39
  });
@@ -16,6 +16,10 @@ export function platformless(text: string): string {
16
16
  /(content"?[:=]{1}[" ]{1}Diplodoc.*? )v\d+\.\d+\.\d+(?:-[\w-]+)?/g,
17
17
  `$1vDIPLODOC-VERSION`,
18
18
  )
19
+ .replace(
20
+ /(aria-describedby=\\":term_element\\" tabindex=\\"\d\\" id=\\")[a-zA-Z0-9]{1,10}/g,
21
+ `$1vTERM-ID`,
22
+ )
19
23
  .replace(/(\\(?![/"'])){1,2}/g, '/')
20
24
  .replace(
21
25
  /id=\\"inline-code-id-[a-zA-Z0-9]{8}\\"/g,
@@ -0,0 +1,9 @@
1
+ ---
2
+ title: Test Document
3
+ title: Duplicate Key
4
+ description: This front matter has a duplicated mapping key
5
+ ---
6
+
7
+ # Test Document
8
+
9
+ This is a test document with invalid front matter.
@@ -0,0 +1 @@
1
+ href: index.md
@@ -0,0 +1,50 @@
1
+ openapi: 3.0.1
2
+ info:
3
+ title: OpenAPI definition
4
+ version: v0
5
+ servers:
6
+ - url: http://localhost:8080
7
+ description: Generated server url
8
+ paths:
9
+ /test:
10
+ get:
11
+ tags:
12
+ - test-controller
13
+ summary: Simple get operation. тест новой верстки 3
14
+ description: Defines a simple get operation with no inputs and a complex
15
+ operationId: getWithPayloadResponse
16
+ responses:
17
+ "200":
18
+ description: 200!!!!
19
+ content:
20
+ application/json:
21
+ schema:
22
+ $ref: '#/components/schemas/RecurceTop'
23
+ components:
24
+ schemas:
25
+ ResolvingCaseChild:
26
+ description: Child description
27
+ RecurceTop:
28
+ type: object
29
+ properties:
30
+ A:
31
+ type: string
32
+ description: |
33
+ Статус загрузки:
34
+ - `UPLOADED` — загрузка завершена.
35
+ - `IN_PROGRESS` — загрузка находится в процессе обработки.
36
+ - `PROCESSED` — загрузка успешно обработана.
37
+ # $ref: '#/components/schemas/RecurceMiddle'
38
+ RecurceMiddle:
39
+ type: object
40
+ properties:
41
+ B:
42
+ type: array
43
+ items:
44
+ $ref: '#/components/schemas/RecurceTop'
45
+ ResolvingCase:
46
+ type: object
47
+ properties:
48
+ withrefprop:
49
+ description: Parent description
50
+ $ref: '#/components/schemas/ResolvingCaseChild'
@@ -0,0 +1,8 @@
1
+ ### Download static file
2
+
3
+ Текст {% file src="_assets/test.yaml" name="Configuration File" %} потом текст
4
+
5
+
6
+ Текс <a href="_assets/test.yaml" download="Config">Скачать</a> потом текст
7
+
8
+ Текс [Download](_assets/test.yaml){download="Config"} потом текст
@@ -0,0 +1,3 @@
1
+ title: Test123
2
+ href: index.md
3
+ path: toc.yaml
@@ -0,0 +1,8 @@
1
+ allowCustomResources: true
2
+ resources:
3
+ csp:
4
+ - style-src:
5
+ - unsafe-inline
6
+ - yastatic.net
7
+ - connect-src:
8
+ - uaas.yandex.ru
@@ -0,0 +1 @@
1
+ Support content only. No metadata should appear in the rendered page.
@@ -0,0 +1,7 @@
1
+ # Page with include
2
+
3
+ Content before include.
4
+
5
+ {% include notitle [support](_includes/support.md) %}
6
+
7
+ Content after include.
@@ -0,0 +1,4 @@
1
+ title: Docs
2
+ items:
3
+ - name: Page with include
4
+ href: page.md
@@ -11,7 +11,14 @@ Text
11
11
  <!--{% include [For includes/deep.md](includes/deep.md) %}-->
12
12
  {% include [For includes/deep.md](includes/deep.md) %}
13
13
 
14
+ ^[?](*term)^
15
+
16
+ [[?](*term)](http://ya.ru)
17
+
18
+
14
19
  Link after include
15
20
  [{#T}](./1.md#subtitle)
16
21
 
17
22
  Link after include
23
+
24
+ [*term]: Test terms
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/cli-tests",
3
- "version": "5.23.0",
3
+ "version": "5.24.0",
4
4
  "bin": {
5
5
  "diplodoc-cli-test": "bin.mjs"
6
6
  },