import { dedent } from '..'; | |
describe('Issue 21', () => { | |
it('should dedent nested dedents correctly', () => { | |
const fieldDocs = dedent` | |
* a | |
* b | |
* c | |
` | |
const a = dedent` | |
/** | |
${fieldIntro()} | |
* | |
${fieldDocs} | |
* | |
${fieldExample()} | |
*/ | |
` | |
function fieldIntro() { | |
return dedent` | |
* 0 | |
` | |
} | |
function fieldExample() { | |
return dedent` | |
* d | |
` | |
} | |
const expected = `/** | |
* 0 | |
* | |
* a | |
* b | |
* c | |
* | |
* d | |
*/` | |
expect(a).toEqual(expected); | |
}); | |
/** | |
* Could not find a way to handle this but is an edge case we'd like to solve eventually | |
*/ | |
it.skip('should handle function calls of nested dedents correctly', () => { | |
const fieldDocs = dedent(` | |
* a | |
* b | |
* c | |
`) | |
const a = dedent(` | |
/** | |
${fieldIntro()} | |
* | |
${fieldDocs} | |
* | |
${fieldExample()} | |
*/ | |
`) | |
function fieldIntro() { | |
return dedent(` | |
* 0 | |
`) | |
} | |
function fieldExample() { | |
return dedent(` | |
* d | |
`) | |
} | |
const expected = `/** | |
* 0 | |
* | |
* a | |
* b | |
* c | |
* | |
* d | |
*/` | |
expect(a).toEqual(expected); | |
}); | |
}); | |