pengzhanbo 2780abd782
feat(plugin-md-power): add copy button for file-tree container, close #835 (#837)
* feat(plugin-md-power): add copy button for file-tree container, close #835

* chore: tweak
2026-02-13 01:16:47 +08:00

252 lines
10 KiB
Plaintext

// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`fileTree > parseFileTreeRawContent > should work 1`] = `
[
{
"children": [
{
"children": [],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "README.md",
"focus": false,
"level": 1,
"type": "file",
},
{
"children": [],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "foo.md",
"focus": false,
"level": 1,
"type": "file",
},
],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "docs",
"focus": false,
"level": 0,
"type": "file",
},
{
"children": [
{
"children": [
{
"children": [
{
"children": [],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "Navbar.vue",
"focus": true,
"level": 3,
"type": "file",
},
],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "components",
"focus": false,
"level": 2,
"type": "file",
},
{
"children": [],
"comment": "# comment",
"diff": undefined,
"expanded": true,
"filename": "index.ts",
"focus": false,
"level": 2,
"type": "file",
},
],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "client",
"focus": false,
"level": 1,
"type": "file",
},
{
"children": [
{
"children": [],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "index.ts",
"focus": false,
"level": 2,
"type": "file",
},
],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "node",
"focus": false,
"level": 1,
"type": "file",
},
],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "src",
"focus": false,
"level": 0,
"type": "file",
},
{
"children": [],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": ".gitignore",
"focus": false,
"level": 0,
"type": "file",
},
{
"children": [],
"comment": "",
"diff": undefined,
"expanded": true,
"filename": "package.json",
"focus": false,
"level": 0,
"type": "file",
},
]
`;
exports[`fileTreePlugin > should work with default options 1`] = `
"<div class="vp-file-tree"><VPCopyButton text="eJzT43o0Zc6jKQ1ApJCSn1wM5DYpKCggBINcHV18XfVyU+AyU6Ayafn5EGGY0uKiZAztyTmZqXklcGE0yfzcgvw8oDzCWmQSZpFfYllSYpFeWWkqmjKYgsy8lNQKPSRTYBJ5+SkwPSCAVQfMMXrpmSWZ6Xn5RSAdMHUFicnZiempelnF+XkANX+Jpw==" encode aria-label="Copy" data-copied="Copied" /><FileTreeNode expanded type="folder" filename="docs" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-docs" /></template><FileTreeNode type="file" filename="README.md" :level="1">
<template #icon><VPIcon provider="iconify" name="flat-color-icons:info" /></template>
</FileTreeNode>
<FileTreeNode type="file" filename="foo.md" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-markdown" /></template>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode expanded type="folder" filename="src" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-src" /></template><FileTreeNode expanded type="folder" filename="client" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-client" /></template><FileTreeNode expanded type="folder" filename="components" :level="2">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-component" /></template><FileTreeNode focus type="file" filename="Navbar.vue" :level="3">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-vue" /></template>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="file" filename="index.ts" :level="2">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-typescript" /></template><template #comment># comment</template>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode expanded type="folder" filename="node" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-folder" /></template><FileTreeNode type="file" filename="index.ts" :level="2">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-typescript" /></template>
</FileTreeNode>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="file" filename=".gitignore" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-git" /></template>
</FileTreeNode>
<FileTreeNode type="file" filename="package.json" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-node" /></template>
</FileTreeNode></div>
<div class="vp-file-tree"><p class="vp-file-tree-title">files</p><VPCopyButton text="eJzT43o0Zc6jKQ1ApFBclAzkNSkoKCDEsooxhMpKU+FiU6BiycUgdTBekKuji6+rXm4KAKLWLVo=" encode aria-label="Copy" data-copied="Copied" /><FileTreeNode expanded type="folder" filename="src" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-src" /></template><FileTreeNode expanded type="folder" filename="js" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-folder" /></template><FileTreeNode type="file" filename="…" :level="2">
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="folder" filename="vue" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-folder" /></template><FileTreeNode type="file" filename="…" :level="2">
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="folder" filename="css" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-css" /></template><FileTreeNode type="file" filename="…" :level="2">
</FileTreeNode>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="file" filename="README.md" :level="0">
<template #icon><VPIcon provider="iconify" name="flat-color-icons:info" /></template>
</FileTreeNode></div>
<div class="vp-file-tree"><VPCopyButton text="eJzT43o0Zc6jKQ1ApJCSn1yMxC0uSgbymhQUFBBiiXpZICUQwSlQwSS9EpAgjBvk6uji66qXmwIAUH4sGA==" encode aria-label="Copy" data-copied="Copied" /><FileTreeNode type="file" filename="docs" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode>
<FileTreeNode expanded type="folder" filename="src" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-folder" /></template><FileTreeNode type="file" filename="a.js" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode>
<FileTreeNode type="file" filename="b.ts" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="file" filename="README.md" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode></div>
<div class="vp-file-tree"><VPCopyButton text="eJzT43o0Zc6jKQ1ApABkToExFYAAzgUAZ2oS9w==" encode aria-label="Copy" data-copied="Copied" /><FileTreeNode type="file" filename="" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode>
<FileTreeNode expanded type="folder" filename="" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-folder" /></template><FileTreeNode type="file" filename="" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode>
</FileTreeNode></div>
<div class="vp-file-tree"><VPCopyButton text="eJzT43o0Zc6jKQ1ApJCSn1wM5DYpKCggBBNTUlJT9HJT4BJToBJFqbn5ZakQGZji4qJkIA+moji/tCg5FQAkoS+X" encode aria-label="Copy" data-copied="Copied" /><FileTreeNode expanded type="folder" filename="docs" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-docs" /></template><FileTreeNode type="file" diff="add" filename="added.md" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-markdown" /></template>
</FileTreeNode>
<FileTreeNode type="file" diff="remove" filename="remove.md" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-markdown" /></template>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="file" diff="add" filename="src" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode>
<FileTreeNode type="file" diff="remove" filename="source" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:default-file" /></template>
</FileTreeNode></div>
<div class="vp-file-tree"><VPCopyButton text="eJzTAwAALwAv" encode aria-label="Copy" data-copied="Copied" /></div>
"
`;
exports[`fileTreePlugin > should work with nesting content 1`] = `
"<ul>
<li>
<p>item1</p>
<div class="vp-file-tree"><VPCopyButton text="eJzT43o0Zc6jKQ1ApJCSn1yMxC0uSgbymhQUFBBiiXpZICUQwSlQwSS9EpAgjBvk6uji66qXmwIAUH4sGA==" encode aria-label="Copy" data-copied="Copied" /><FileTreeNode type="folder" filename="docs" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-docs" /></template><FileTreeNode type="file" filename="…" :level="1">
</FileTreeNode>
</FileTreeNode>
<FileTreeNode expanded type="folder" filename="src" :level="0">
<template #icon><VPIcon provider="iconify" name="vscode-icons:folder-type-src" /></template><FileTreeNode type="file" filename="a.js" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-js" /></template>
</FileTreeNode>
<FileTreeNode type="file" filename="b.ts" :level="1">
<template #icon><VPIcon provider="iconify" name="vscode-icons:file-type-typescript" /></template>
</FileTreeNode>
</FileTreeNode>
<FileTreeNode type="file" filename="README.md" :level="0">
<template #icon><VPIcon provider="iconify" name="flat-color-icons:info" /></template>
</FileTreeNode></div>
</li>
<li>
<p>item2</p>
</li>
</ul>
"
`;