import { tap, expect } from '@pushrocks/tapbundle'; import * as smartfm from '../ts/index'; let testSmartfm = new smartfm.Smartfm({ fmType: 'yaml' }); tap.test('.parse()', async () => { let testString = `--- testKey: testValue testKey2: testValue2 --- # some markdown `; let parsedString = testSmartfm.parse(testString); expect(parsedString.data).to.have.property('testKey', 'testValue'); expect(parsedString.data).to.have.property('testKey2', 'testValue2'); expect(parsedString.orig.toString()).to.equal(testString); }); tap.test('should stringify data', async () => { let testStringPure = `# some markdown heading\nsome first row`; let testStringCombined = testSmartfm.stringify(testStringPure, { testData: 'hi' }); let resultString = '---\ntestData: hi\n---\n# some markdown heading\nsome first row\n'; expect(resultString).to.equal(testStringCombined); }); tap.test('should parse a normal frontmatter file', async () => { const normalFile = `--- heythere: awesome --- really `; let result = testSmartfm.parse(normalFile); expect(result.data.heythere).to.equal('awesome') }); tap.test('should parse a commented out frontmatter file', async () => { const commentedFile = `# --- # heythere: awesome # --- really `; let result = testSmartfm.parseFromComments('# ', commentedFile); console.log(result); }); tap.start();