var Vue = require('../../../../src/vue') var _ = require('../../../../src/util/debug') describe('misc', function () { describe('_applyFilters', function () { var vm = new Vue({ data: { msg: 'BBB' }, filters: { read: function (v, arg) { return v + ' read:' + arg }, read2: { read: function (v, arg) { return v + ' read2:' + arg } }, write: { write: function (v, oldV) { return v + ' ' + oldV } } } }) beforeEach(function () { spyOn(_, 'warn') }) it('read', function () { var filters = [ { name: 'read', args: [{dynamic: false, value: 'AAA'}] }, { name: 'read2', args: [{dynamic: true, value: 'msg'}] } ] var val = vm._applyFilters('test', null, filters, false) expect(val).toBe('test read:AAA read2:BBB') }) it('write', function () { var filters = [ { name: 'write' } ] var val = vm._applyFilters('test', 'oldTest', filters, true) expect(val).toBe('test oldTest') }) it('warn not found', function () { vm._applyFilters('what', null, [{name: 'wtf'}]) expect(hasWarned(_, 'Failed to resolve filter')).toBe(true) }) }) })