mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-16 12:50:38 -07:00
test: integration cases for opts.fs, see #181
This commit is contained in:
@@ -4,9 +4,12 @@ import { Liquid } from '../../../src/liquid'
|
||||
describe('LiquidOptions#fs', function () {
|
||||
let engine: Liquid
|
||||
const fs = {
|
||||
exists: () => Promise.resolve(true),
|
||||
readFile: () => Promise.resolve('test file content'),
|
||||
resolve: () => 'resolved'
|
||||
exists: (x: string) => Promise.resolve(x.match(/^\/root\/files\//)),
|
||||
existsSync: (x: string) => x.match(/^\/root\/files\//),
|
||||
readFile: (x: string) => Promise.resolve(`content for ${x}`),
|
||||
readFileSync: (x: string) => `content for ${x}`,
|
||||
fallback: (x: string) => '/root/files/fallback',
|
||||
resolve: (base: string, path: string) => base + path
|
||||
}
|
||||
beforeEach(function () {
|
||||
engine = new Liquid({
|
||||
@@ -14,8 +17,18 @@ describe('LiquidOptions#fs', function () {
|
||||
fs
|
||||
} as any)
|
||||
})
|
||||
it('should be used to read templates', function () {
|
||||
return engine.renderFile('files/foo')
|
||||
.then(x => expect(x).to.equal('test file content'))
|
||||
it('should be used to read templates', async function () {
|
||||
const html = await engine.renderFile('files/foo')
|
||||
expect(html).to.equal('content for /root/files/foo')
|
||||
})
|
||||
|
||||
it('should support fallback', async function () {
|
||||
const html = await engine.renderFile('notexist/foo')
|
||||
expect(html).to.equal('content for /root/files/fallback')
|
||||
})
|
||||
|
||||
it('should support renderSync', function () {
|
||||
const html = engine.renderFileSync('notexist/foo')
|
||||
expect(html).to.equal('content for /root/files/fallback')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user