| import getStringifier from '../../src/stringifier/index.js'; |
| |
| const source = [ |
| { |
| number: 1, |
| source: ' /**', |
| tokens: { |
| start: ' ', |
| delimiter: '/**', |
| postDelimiter: '', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: '', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 2, |
| source: ' * Description may go', |
| tokens: { |
| start: ' ', |
| delimiter: '*', |
| postDelimiter: ' ', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: 'Description may go', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 3, |
| source: ' * over multiple lines followed by @tags', |
| tokens: { |
| start: ' ', |
| delimiter: '*', |
| postDelimiter: ' ', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: 'over multiple lines followed by @tags', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 4, |
| source: ' *', |
| tokens: { |
| start: ' ', |
| delimiter: '*', |
| postDelimiter: ' ', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: '', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 5, |
| source: '* @my-tag {my.type} my-name description line 1', |
| tokens: { |
| start: '', |
| delimiter: '*', |
| postDelimiter: ' ', |
| tag: '@my-tag', |
| postTag: ' ', |
| name: 'my-name', |
| postName: ' ', |
| type: '{my.type}', |
| postType: ' ', |
| description: 'description line 1', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 6, |
| source: ' description line 2', |
| tokens: { |
| start: ' ', |
| delimiter: '', |
| postDelimiter: '', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: 'description line 2', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 7, |
| source: ' * description line 3', |
| tokens: { |
| start: ' ', |
| delimiter: '*', |
| postDelimiter: ' ', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: 'description line 3', |
| end: '', |
| lineEnd: '', |
| }, |
| }, |
| { |
| number: 8, |
| source: ' */', |
| tokens: { |
| start: ' ', |
| delimiter: '', |
| postDelimiter: '', |
| tag: '', |
| postTag: '', |
| name: '', |
| postName: '', |
| type: '', |
| postType: '', |
| description: '', |
| end: '*/', |
| lineEnd: '', |
| }, |
| }, |
| ]; |
| |
| const block = { |
| description: '', |
| tags: [], |
| source, |
| problems: [], |
| }; |
| |
| test('default', () => { |
| const s = getStringifier()(block); |
| const expected = ` |
| /** |
| * Description may go |
| * over multiple lines followed by @tags |
| * |
| * @my-tag {my.type} my-name description line 1 |
| description line 2 |
| * description line 3 |
| */`; |
| expect(s).toBe(expected.slice(1)); |
| }); |