Addnew sheets (armor, weapons, malefica) and v13 support
This commit is contained in:
581
node_modules/comment-parser/tests/e2e/issue-61.spec.js
generated
vendored
Normal file
581
node_modules/comment-parser/tests/e2e/issue-61.spec.js
generated
vendored
Normal file
@@ -0,0 +1,581 @@
|
||||
const { default: getParser } = require('../../lib/parser/index.cjs');
|
||||
|
||||
test('fenced description', () => {
|
||||
const parsed = getParser({ spacing: 'preserve' })(`
|
||||
/**
|
||||
* @example "" \`\`\`ts
|
||||
@transient()
|
||||
class Foo { }
|
||||
\`\`\`
|
||||
*/`);
|
||||
|
||||
const source = [
|
||||
{
|
||||
number: 1,
|
||||
source: ' /**',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '/**',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 2,
|
||||
source: ' * @example "" ```ts',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '*',
|
||||
postDelimiter: ' ',
|
||||
tag: '@example',
|
||||
postTag: ' ',
|
||||
name: '""',
|
||||
postName: ' ',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```ts',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 3,
|
||||
source: '@transient()',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '@transient()',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 4,
|
||||
source: 'class Foo { }',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: 'class Foo { }',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 5,
|
||||
source: '```',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 6,
|
||||
source: ' */',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '',
|
||||
end: '*/',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
expect(parsed).toEqual([
|
||||
{
|
||||
description: '',
|
||||
tags: [
|
||||
{
|
||||
tag: 'example',
|
||||
name: '',
|
||||
type: '',
|
||||
optional: false,
|
||||
description: '```ts\n@transient()\nclass Foo { }\n```',
|
||||
problems: [],
|
||||
source: source.slice(1),
|
||||
},
|
||||
],
|
||||
source,
|
||||
problems: [],
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
test('fenced one-liner', () => {
|
||||
const parsed = getParser({ spacing: 'preserve' })(
|
||||
'/** @example "" ```ts @transient() class Foo { } ```*/'
|
||||
);
|
||||
|
||||
const source = [
|
||||
{
|
||||
number: 0,
|
||||
source: '/** @example "" ```ts @transient() class Foo { } ```*/',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '/**',
|
||||
postDelimiter: ' ',
|
||||
tag: '@example',
|
||||
postTag: ' ',
|
||||
name: '""',
|
||||
postName: ' ',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```ts @transient() class Foo { } ```',
|
||||
end: '*/',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
expect(parsed).toEqual([
|
||||
{
|
||||
description: '',
|
||||
tags: [
|
||||
{
|
||||
tag: 'example',
|
||||
name: '',
|
||||
type: '',
|
||||
optional: false,
|
||||
description: '```ts @transient() class Foo { } ```',
|
||||
problems: [],
|
||||
source,
|
||||
},
|
||||
],
|
||||
source,
|
||||
problems: [],
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
test('multiple fences', () => {
|
||||
const parsed = getParser({ spacing: 'preserve' })(`
|
||||
/**
|
||||
* @example "" \`\`\`ts
|
||||
@one
|
||||
\`\`\`
|
||||
text
|
||||
\`\`\`
|
||||
@two
|
||||
\`\`\`
|
||||
*/`);
|
||||
|
||||
const source = [
|
||||
{
|
||||
number: 1,
|
||||
source: ' /**',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '/**',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 2,
|
||||
source: ' * @example "" ```ts',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '*',
|
||||
postDelimiter: ' ',
|
||||
tag: '@example',
|
||||
postTag: ' ',
|
||||
name: '""',
|
||||
postName: ' ',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```ts',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 3,
|
||||
source: '@one',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '@one',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 4,
|
||||
source: '```',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 5,
|
||||
source: 'text',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: 'text',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 6,
|
||||
source: '```',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 7,
|
||||
source: '@two',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '@two',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 8,
|
||||
source: '```',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '```',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 9,
|
||||
source: ' */',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '',
|
||||
end: '*/',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
expect(parsed).toEqual([
|
||||
{
|
||||
description: '',
|
||||
tags: [
|
||||
{
|
||||
tag: 'example',
|
||||
name: '',
|
||||
type: '',
|
||||
optional: false,
|
||||
description: '```ts\n@one\n```\ntext\n```\n@two\n```',
|
||||
source: source.slice(1),
|
||||
problems: [],
|
||||
},
|
||||
],
|
||||
source,
|
||||
problems: [],
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
test('custom fences', () => {
|
||||
const parsed = getParser({ spacing: 'preserve', fence: '###' })(`
|
||||
/**
|
||||
* @example "" ###ts
|
||||
@one
|
||||
###
|
||||
text
|
||||
###
|
||||
@two
|
||||
###
|
||||
*/`);
|
||||
|
||||
const source = [
|
||||
{
|
||||
number: 1,
|
||||
source: ' /**',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '/**',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 2,
|
||||
source: ' * @example "" ###ts',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '*',
|
||||
postDelimiter: ' ',
|
||||
tag: '@example',
|
||||
postTag: ' ',
|
||||
name: '""',
|
||||
postName: ' ',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '###ts',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 3,
|
||||
source: '@one',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '@one',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 4,
|
||||
source: '###',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '###',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 5,
|
||||
source: 'text',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: 'text',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 6,
|
||||
source: '###',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '###',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 7,
|
||||
source: '@two',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '@two',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 8,
|
||||
source: '###',
|
||||
tokens: {
|
||||
start: '',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '###',
|
||||
end: '',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
{
|
||||
number: 9,
|
||||
source: ' */',
|
||||
tokens: {
|
||||
start: ' ',
|
||||
delimiter: '',
|
||||
postDelimiter: '',
|
||||
tag: '',
|
||||
postTag: '',
|
||||
name: '',
|
||||
postName: '',
|
||||
type: '',
|
||||
postType: '',
|
||||
description: '',
|
||||
end: '*/',
|
||||
lineEnd: '',
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
expect(parsed).toEqual([
|
||||
{
|
||||
description: '',
|
||||
tags: [
|
||||
{
|
||||
tag: 'example',
|
||||
name: '',
|
||||
type: '',
|
||||
optional: false,
|
||||
description: '###ts\n@one\n###\ntext\n###\n@two\n###',
|
||||
source: source.slice(1),
|
||||
problems: [],
|
||||
},
|
||||
],
|
||||
source,
|
||||
problems: [],
|
||||
},
|
||||
]);
|
||||
});
|
||||
Reference in New Issue
Block a user