import { expect, tap } from '@pushrocks/tapbundle'; import * as smarthbs from '../ts/index'; import * as path from 'path'; let testHbsDir = path.join(__dirname, 'hbs_testfiles'); let testPartialDir = path.join(testHbsDir, 'partials'); let testResultDir = path.join(__dirname, 'testresult'); tap.test('smarthbs -> should create partials', async () => { await smarthbs.registerPartialDir(testPartialDir); }); tap.test('smarthbs -> should compile a directory', async () => { smarthbs.compileDirectory(testHbsDir, testResultDir, 'data.json'); }); tap.test('', async () => { let templateString = '{{{firstVar}}} {{secondVar}}'; let templateVars = await smarthbs.findVarsInHbsString(templateString); expect(templateVars).to.include('firstVar'); expect(templateVars).to.include('secondVar'); }); tap.test('', async () => { let templateString = '{{{firstVar}}} {{secondVar}} {{thirdVar}} {{fourthVar}} {{fourthVar.someKey}} {{fourthVar.otherKey.nextKey}}'; let missingVars = await smarthbs.checkVarsSatisfaction(templateString, { firstVar: 'hi', secondVar: 'hello', fourthVar: { otherKey: { nextKey: 'wow' } } }); expect(missingVars).to.contain('thirdVar', 'fourthVar.someKey'); expect(missingVars).to.not.contain('secondVar', 'fourthVar.otherKey.nextKey'); }); tap.start();