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:
harttle
2019-08-26 10:15:43 -05:00
committed by Jun Yang
parent 854e12ba53
commit ae45c4622e
99 changed files with 373 additions and 407 deletions
+1 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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'
+17 -7
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
import Liquid from '../../../../src/liquid'
import { Liquid } from '../../../../src/liquid'
import { expect } from 'chai'
describe('tags/if', function () {
+5 -5
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
import Liquid from '../../../../src/liquid'
import { Liquid } from '../../../../src/liquid'
import { expect } from 'chai'
describe('tags/raw', function () {
+1 -1
View File
@@ -1,4 +1,4 @@
import Liquid from '../../../../src/liquid'
import { Liquid } from '../../../../src/liquid'
import { expect } from 'chai'
describe('tags/tablerow', function () {
+1 -1
View File
@@ -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 -1
View File
@@ -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
+3 -3
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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
+2 -2
View File
@@ -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 -1
View File
@@ -1,4 +1,4 @@
import Liquid from '../../../src/liquid'
import { Liquid } from '../../../src/liquid'
import { expect } from 'chai'
describe('LiquidOptions#strict*', function () {
+1 -1
View File
@@ -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' }
+3 -2
View File
@@ -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 () {