From ea38a9e1f508d7d037f4ba7ae10cd92c989cc993 Mon Sep 17 00:00:00 2001 From: harttle Date: Mon, 13 Aug 2018 13:03:22 +0800 Subject: [PATCH] refactor: test/render.js use local scope --- test/render.js | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/test/render.js b/test/render.js index 9a6141f95..db1efef87 100644 --- a/test/render.js +++ b/test/render.js @@ -7,27 +7,15 @@ const sinon = require('sinon') chai.use(sinonChai) chai.use(chaiAsPromised) -var tag = require('../src/tag.js')() -var Scope = require('../src/scope.js') -var filter = require('../src/filter')() -var Render = require('../src/render.js') -var Template = require('../src/parser.js')(tag, filter) +let tag = require('../src/tag.js')() +let Scope = require('../src/scope.js') +let filter = require('../src/filter')() +let Render = require('../src/render.js') +let Template = require('../src/parser.js')(tag, filter) +let render describe('render', function () { - var scope, render - beforeEach(function () { - var ctx = { - foo: { - bar: ['a', 2] - }, - bar: { - to_liquid: x => 'custom' - } - } - ctx.self = ctx - - scope = Scope.factory(ctx) filter.clear() tag.clear() render = Render() @@ -41,13 +29,17 @@ describe('render', function () { }) it('should render html', function () { + let scope = Scope.factory({}) return expect(render.renderTemplates([{type: 'html', value: '

'}], scope)).to.eventually.equal('

') }) }) describe('.renderValue()', function () { it('should respect to .to_liquid() method', function () { - var tpl = Template.parseValue('bar') + let scope = Scope.factory({ + bar: { to_liquid: x => 'custom' } + }) + let tpl = Template.parseValue('bar') return expect(render.renderValue(tpl, scope)).to.eventually.equal('custom') }) @@ -74,13 +66,16 @@ describe('render', function () { }) it('should eval filter with correct arguments', function () { - var date = sinon.stub().returns('y') - var time = sinon.spy() + let date = sinon.stub().returns('y') + let time = sinon.spy() filter.register('date', date) filter.register('time', time) - var tpl = Template.parseValue('foo.bar[0] | date: "b" | time:2') + let tpl = Template.parseValue('foo.bar | date: "b" | time:2') + let scope = Scope.factory({ + foo: {bar: 'bar'} + }) render.evalValue(tpl, scope) - expect(date).to.have.been.calledWith('a', 'b') + expect(date).to.have.been.calledWith('bar', 'b') expect(time).to.have.been.calledWith('y', 2) }) @@ -93,13 +88,16 @@ describe('render', function () { it('should eval value', function () { filter.register('date', (l, r) => l + r) filter.register('time', (l, r) => l + 3 * r) - var tpl = Template.parseValue('foo.bar[0] | date: "b" | time:2') + let tpl = Template.parseValue('foo.bar[0] | date: "b" | time:2') + let scope = Scope.factory({ + foo: { bar: ['a'] } + }) expect(render.evalValue(tpl, scope)).to.equal('ab6') }) it('should reserve type', function () { filter.register('arr', () => [1]) - var tpl = Template.parseValue('"x" | arr') - expect(render.evalValue(tpl, scope)).to.deep.equal([1]) + let tpl = Template.parseValue('"x" | arr') + expect(render.evalValue(tpl, Scope.factory())).to.deep.equal([1]) }) }) })