363 lines
8.9 KiB
JavaScript
363 lines
8.9 KiB
JavaScript
const { default: getParser } = require('../../lib/parser/index.cjs');
|
|
|
|
test('quoted name', () => {
|
|
const parsed = getParser()(`
|
|
/**
|
|
* @section "Brand Colors" - Here you can find all the brand colors...
|
|
*/`);
|
|
|
|
expect(parsed).toEqual([
|
|
{
|
|
description: '',
|
|
tags: [
|
|
{
|
|
tag: 'section',
|
|
name: 'Brand Colors',
|
|
type: '',
|
|
optional: false,
|
|
description: '- Here you can find all the brand colors...',
|
|
problems: [],
|
|
source: [
|
|
{
|
|
number: 2,
|
|
source:
|
|
' * @section "Brand Colors" - Here you can find all the brand colors...',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '*',
|
|
postDelimiter: ' ',
|
|
tag: '@section',
|
|
postTag: ' ',
|
|
name: '"Brand Colors"',
|
|
postName: ' ',
|
|
type: '',
|
|
postType: '',
|
|
description: '- Here you can find all the brand colors...',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 3,
|
|
source: ' */',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '*/',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
source: [
|
|
{
|
|
number: 1,
|
|
source: ' /**',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '/**',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 2,
|
|
source:
|
|
' * @section "Brand Colors" - Here you can find all the brand colors...',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '*',
|
|
postDelimiter: ' ',
|
|
tag: '@section',
|
|
postTag: ' ',
|
|
name: '"Brand Colors"',
|
|
postName: ' ',
|
|
type: '',
|
|
postType: '',
|
|
description: '- Here you can find all the brand colors...',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 3,
|
|
source: ' */',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '*/',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
],
|
|
problems: [],
|
|
},
|
|
]);
|
|
});
|
|
|
|
test('optional name', () => {
|
|
const parsed = getParser()(`
|
|
/**
|
|
* @section [Brand Colors] - Here you can find all the brand colors...
|
|
*/`);
|
|
|
|
expect(parsed).toEqual([
|
|
{
|
|
description: '',
|
|
tags: [
|
|
{
|
|
tag: 'section',
|
|
name: 'Brand Colors',
|
|
type: '',
|
|
optional: true,
|
|
description: '- Here you can find all the brand colors...',
|
|
problems: [],
|
|
source: [
|
|
{
|
|
number: 2,
|
|
source:
|
|
' * @section [Brand Colors] - Here you can find all the brand colors...',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '*',
|
|
postDelimiter: ' ',
|
|
tag: '@section',
|
|
postTag: ' ',
|
|
name: '[Brand Colors]',
|
|
postName: ' ',
|
|
type: '',
|
|
postType: '',
|
|
description: '- Here you can find all the brand colors...',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 3,
|
|
source: ' */',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '*/',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
source: [
|
|
{
|
|
number: 1,
|
|
source: ' /**',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '/**',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 2,
|
|
source:
|
|
' * @section [Brand Colors] - Here you can find all the brand colors...',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '*',
|
|
postDelimiter: ' ',
|
|
tag: '@section',
|
|
postTag: ' ',
|
|
name: '[Brand Colors]',
|
|
postName: ' ',
|
|
type: '',
|
|
postType: '',
|
|
description: '- Here you can find all the brand colors...',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 3,
|
|
source: ' */',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '*/',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
],
|
|
problems: [],
|
|
},
|
|
]);
|
|
});
|
|
|
|
test('inconsistent quotes', () => {
|
|
const parsed = getParser()(`
|
|
/**
|
|
* @section "Brand Colors - Here you can find all the brand colors...
|
|
*/`);
|
|
|
|
expect(parsed).toEqual([
|
|
{
|
|
description: '',
|
|
tags: [
|
|
{
|
|
tag: 'section',
|
|
name: '"Brand',
|
|
type: '',
|
|
optional: false,
|
|
description: 'Colors - Here you can find all the brand colors...',
|
|
problems: [],
|
|
source: [
|
|
{
|
|
number: 2,
|
|
source:
|
|
' * @section "Brand Colors - Here you can find all the brand colors...',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '*',
|
|
postDelimiter: ' ',
|
|
tag: '@section',
|
|
postTag: ' ',
|
|
name: '"Brand',
|
|
postName: ' ',
|
|
type: '',
|
|
postType: '',
|
|
description:
|
|
'Colors - Here you can find all the brand colors...',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 3,
|
|
source: ' */',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '*/',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
source: [
|
|
{
|
|
number: 1,
|
|
source: ' /**',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '/**',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 2,
|
|
source:
|
|
' * @section "Brand Colors - Here you can find all the brand colors...',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '*',
|
|
postDelimiter: ' ',
|
|
tag: '@section',
|
|
postTag: ' ',
|
|
name: '"Brand',
|
|
postName: ' ',
|
|
type: '',
|
|
postType: '',
|
|
description: 'Colors - Here you can find all the brand colors...',
|
|
end: '',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
{
|
|
number: 3,
|
|
source: ' */',
|
|
tokens: {
|
|
start: ' ',
|
|
delimiter: '',
|
|
postDelimiter: '',
|
|
tag: '',
|
|
postTag: '',
|
|
name: '',
|
|
postName: '',
|
|
type: '',
|
|
postType: '',
|
|
description: '',
|
|
end: '*/',
|
|
lineEnd: '',
|
|
},
|
|
},
|
|
],
|
|
problems: [],
|
|
},
|
|
]);
|
|
});
|