misc_spec.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var Vue = require('../../../../src/vue')
  2. var _ = require('../../../../src/util/debug')
  3. describe('misc', function () {
  4. describe('_applyFilters', function () {
  5. var readSpy = jasmine.createSpy()
  6. var readSpy2 = jasmine.createSpy()
  7. var writeSpy = jasmine.createSpy()
  8. var vm = new Vue({
  9. data: {
  10. msg: 'BBB'
  11. },
  12. filters: {
  13. read: function (v, arg) {
  14. return v + ' read:' + arg
  15. },
  16. read2: {
  17. read: function (v, arg) {
  18. return v + ' read2:' + arg
  19. }
  20. },
  21. write: {
  22. write: function (v, oldV) {
  23. return v + ' ' + oldV
  24. }
  25. }
  26. }
  27. })
  28. beforeEach(function () {
  29. spyOn(_, 'warn')
  30. })
  31. it('read', function () {
  32. var filters = [
  33. { name: 'read', args: [{dynamic:false,value:'AAA'}] },
  34. { name: 'read2', args: [{dynamic:true, value:'msg'}] }
  35. ]
  36. var val = vm._applyFilters('test', null, filters, false)
  37. expect(val).toBe('test read:AAA read2:BBB')
  38. })
  39. it('write', function () {
  40. var filters = [
  41. { name: 'write' }
  42. ]
  43. var val = vm._applyFilters('test', 'oldTest', filters, true)
  44. expect(val).toBe('test oldTest')
  45. })
  46. it('warn not found', function () {
  47. vm._applyFilters('what', null, [{name:'what the fuck'}])
  48. expect(hasWarned(_, 'Failed to resolve filter')).toBe(true)
  49. })
  50. })
  51. })