misc_spec.js 1.2 KB

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