|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import indent from '../../src/transforms/indent';
- import getParser from '../../src/parser/index';
- import getStringifier from '../../src/stringifier/index';
-
- test('push', () => {
- const source = `
- /**
- * Description may go
- * over multiple lines followed by @tags
- *
- * @my-tag {my.type} my-name description line 1
- description line 2
- * description line 3
- */`;
-
- 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
- */`;
-
- const parsed = getParser()(source);
- const out = getStringifier()(indent(4)(parsed[0]));
- expect(out).toBe(expected.slice(1));
- });
-
- test('pull', () => {
- const source = `
- /**
- * Description may go
- * over multiple lines followed by @tags
- *
- * @my-tag {my.type} my-name description line 1
- description line 2
- * description line 3
- */`;
-
- 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
- */`;
-
- const parsed = getParser()(source);
- const out = getStringifier()(indent(2)(parsed[0]));
- expect(out).toBe(expected.slice(1));
- });
-
- test('force pull', () => {
- const source = `
- /**
- * Description may go
- * over multiple lines followed by @tags
- *
- * @my-tag {my.type} my-name description line 1
- description line 2
- * description line 3
- */`;
-
- 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
- */`;
-
- const parsed = getParser()(source);
- const indented = indent(0)(parsed[0]);
- const out = getStringifier()(indented);
- expect(out).toBe(expected.slice(1));
- });
-
- test('spec source referencing', () => {
- const parsed = getParser()(`/** @tag {type} name Description */`);
- const block = indent(0)(parsed[0]);
- expect(block.tags[0].source[0] === block.source[0]).toBe(true);
- });
-
- test('block source clonning', () => {
- const parsed = getParser()(`/** @tag {type} name Description */`);
- const block = indent(0)(parsed[0]);
- parsed[0].source[0].tokens.description = 'test';
- expect(block.source[0].tokens.description).toBe('Description ');
- });
|