misc_spec.js 1.3 KB

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