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: [],
},
]);
});