mirror of
https://github.com/harttle/liquidjs.git
synced 2026-09-15 12:20:40 -07:00
fix: break/continue omitting output before them, #123
BREAKING CHANGE: remove default export, now should be used like import
{Liquid} from 'liquidjs'
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { test } from '../../../stub/render'
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
|
||||
describe('filters/array', function () {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { test, ctx } from '../../../stub/render'
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
|
||||
describe('filters/date', function () {
|
||||
let liquid: Liquid
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { expect } from 'chai'
|
||||
import { test, liquid } from '../../../stub/render'
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
|
||||
describe('filters/math', function () {
|
||||
const l = new Liquid()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { test } from '../../../stub/render'
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
|
||||
describe('filters/string', function () {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
import { Scope } from '../../../../src/context/scope'
|
||||
@@ -106,12 +106,22 @@ describe('tags/for', function () {
|
||||
return expect(html).to.equal(dst)
|
||||
})
|
||||
|
||||
it('should support for with continue', async function () {
|
||||
const src = '{% for i in (1..5) %}' +
|
||||
'{{i}}{% continue %}after' +
|
||||
'{% endfor %}'
|
||||
const html = await liquid.parseAndRender(src, ctx)
|
||||
return expect(html).to.equal('12345')
|
||||
describe('continue', function () {
|
||||
it('should support for with continue', async function () {
|
||||
const src = '{% for i in (1..5) %}' +
|
||||
'{% if i == 4 %}continue{% continue %}{% endif %}{{i}}' +
|
||||
'{% endfor %}'
|
||||
const html = await liquid.parseAndRender(src, ctx)
|
||||
return expect(html).to.equal('123continue5')
|
||||
})
|
||||
it('should output contents before continue', async function () {
|
||||
const src = '{% for i in (1..5) %}' +
|
||||
'{% if i == 4 %}continue{% continue %}{% endif %}' +
|
||||
'{{ i }}' +
|
||||
'{% endfor %}'
|
||||
const html = await liquid.parseAndRender(src, ctx)
|
||||
return expect(html).to.equal('123continue5')
|
||||
})
|
||||
})
|
||||
describe('break', function () {
|
||||
it('should support break', async function () {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
|
||||
describe('tags/if', function () {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid, Drop } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
import { mock, restore } from '../../../stub/mockfs'
|
||||
|
||||
@@ -83,8 +83,8 @@ describe('tags/include', function () {
|
||||
const html = await liquid.renderFile('with.html')
|
||||
return expect(html).to.equal('color:red, shape:rect')
|
||||
})
|
||||
it('should support include: with as Liquid Drop', async function () {
|
||||
class ColorDrop extends Liquid.Types.Drop {
|
||||
it('should support include: with as Drop', async function () {
|
||||
class ColorDrop extends Drop {
|
||||
public valueOf (): string {
|
||||
return 'red!'
|
||||
}
|
||||
@@ -96,8 +96,8 @@ describe('tags/include', function () {
|
||||
const html = await liquid.renderFile('with.html', { color: new ColorDrop() })
|
||||
expect(html).to.equal('color:red!')
|
||||
})
|
||||
it('should support include: with passed as Liquid Drop', async function () {
|
||||
class ColorDrop extends Liquid.Types.Drop {
|
||||
it('should support include: with passed as Drop', async function () {
|
||||
class ColorDrop extends Drop {
|
||||
public valueOf (): string {
|
||||
return 'red!'
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
import { mock, restore } from '../../../stub/mockfs'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
|
||||
describe('tags/raw', function () {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
|
||||
describe('tags/tablerow', function () {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../../src/liquid'
|
||||
import { Liquid } from '../../../../src/liquid'
|
||||
import { expect, use } from 'chai'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
|
||||
describe('drop/blank-drop', function () {
|
||||
let liquid: Liquid
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid, Drop } from '../../../src/liquid'
|
||||
|
||||
describe('drop/drop', function () {
|
||||
let liquid: Liquid
|
||||
before(() => (liquid = new Liquid()))
|
||||
|
||||
class CustomDrop extends Liquid.Types.Drop {
|
||||
class CustomDrop extends Drop {
|
||||
private name: string = 'NAME'
|
||||
public getName () {
|
||||
return 'GET NAME'
|
||||
@@ -16,7 +16,7 @@ describe('drop/drop', function () {
|
||||
return key.toUpperCase()
|
||||
}
|
||||
}
|
||||
class PromiseDrop extends Liquid.Types.Drop {
|
||||
class PromiseDrop extends Drop {
|
||||
private name = Promise.resolve('NAME')
|
||||
public async getName () {
|
||||
return 'GET NAME'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
|
||||
describe('drop/empty-drop', function () {
|
||||
let liquid: Liquid
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
|
||||
describe('drop/null-drop', function () {
|
||||
let liquid: Liquid
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
import { mock, restore } from '../../stub/mockfs'
|
||||
|
||||
describe('LiquidOptions#cache', function () {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
|
||||
describe('LiquidOptions#*_delimiter_*', function () {
|
||||
it('should respect tag_delimiter_*', async function () {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
|
||||
describe('LiquidOptions#fs', function () {
|
||||
let engine: Liquid
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid, isFalsy } from '../../../src/liquid'
|
||||
import * as chai from 'chai'
|
||||
import { mock, restore } from '../../stub/mockfs'
|
||||
import * as chaiAsPromised from 'chai-as-promised'
|
||||
@@ -19,7 +19,7 @@ describe('Liquid', function () {
|
||||
it('should call plugin with Liquid', async function () {
|
||||
const engine = new Liquid()
|
||||
engine.plugin(function (Liquid) {
|
||||
this.registerFilter('t', x => Liquid.isFalsy(x))
|
||||
this.registerFilter('t', x => isFalsy(x))
|
||||
})
|
||||
const html = await engine.parseAndRender('{{false|t}}')
|
||||
expect(html).to.equal('true')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
import { expect } from 'chai'
|
||||
|
||||
describe('LiquidOptions#strict*', function () {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
|
||||
describe('LiquidOptions#trimming', function () {
|
||||
const ctx = { name: 'harttle' }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { expect } from 'chai'
|
||||
import Liquid from '../../../src/liquid'
|
||||
import { Liquid } from '../../../src/liquid'
|
||||
import * as path from 'path'
|
||||
import { mock, restore } from '../../stub/mockfs'
|
||||
|
||||
@@ -190,7 +190,8 @@ describe('error', function () {
|
||||
engine.registerTag('throwsOnParse', {
|
||||
parse: function () {
|
||||
throw new Error('intended parse error')
|
||||
}
|
||||
},
|
||||
render: () => ''
|
||||
})
|
||||
})
|
||||
it('should throw ParseError when filter not defined', async function () {
|
||||
|
||||
Reference in New Issue
Block a user