CoolFace
Apppublic

AK-21/Graphite-Industrial-Intelligence

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
test.js68 linesDownload Raw Back to expand-template
1var test = require('tape')2var Expand = require('./')3 4test('default expands {} placeholders', function (t) {5  var expand = Expand()6  t.equal(typeof expand, 'function', 'is a function')7  t.equal(expand('{foo}/{bar}', {8    foo: 'BAR', bar: 'FOO'9  }), 'BAR/FOO')10  t.equal(expand('{foo}{foo}{foo}', {11    foo: 'FOO'12  }), 'FOOFOOFOO', 'expands one placeholder many times')13  t.end()14})15 16test('support for custom separators', function (t) {17  var expand = Expand({ sep: '[]' })18  t.equal(expand('[foo]/[bar]', {19    foo: 'BAR', bar: 'FOO'20  }), 'BAR/FOO')21  t.equal(expand('[foo][foo][foo]', {22    foo: 'FOO'23  }), 'FOOFOOFOO', 'expands one placeholder many times')24  t.end()25})26 27test('support for longer custom separators', function (t) {28  var expand = Expand({ sep: '[[]]' })29  t.equal(expand('[[foo]]/[[bar]]', {30    foo: 'BAR', bar: 'FOO'31  }), 'BAR/FOO')32  t.equal(expand('[[foo]][[foo]][[foo]]', {33    foo: 'FOO'34  }), 'FOOFOOFOO', 'expands one placeholder many times')35  t.end()36})37 38test('whitespace-insensitive', function (t) {39  var expand = Expand({ sep: '[]' })40  t.equal(expand('[ foo ]/[ bar ]', {41    foo: 'BAR', bar: 'FOO'42  }), 'BAR/FOO')43  t.equal(expand('[ foo ][ foo  ][ foo]', {44    foo: 'FOO'45  }), 'FOOFOOFOO', 'expands one placeholder many times')46  t.end()47})48 49test('dollar escape', function (t) {50  var expand = Expand()51  t.equal(expand('before {foo} after', {52    foo: '$'53  }), 'before $ after')54  t.equal(expand('before {foo} after', {55    foo: '$&'56  }), 'before $& after')57  t.equal(expand('before {foo} after', {58    foo: '$`'59  }), 'before $` after')60  t.equal(expand('before {foo} after', {61    foo: '$\''62  }), 'before $\' after')63  t.equal(expand('before {foo} after', {64    foo: '$0'65  }), 'before $0 after')66  t.end()67})68