partial_spec.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var _ = require('../../../../src/util')
  2. var Vue = require('../../../../src/vue')
  3. if (_.inBrowser) {
  4. describe('v-partial', function () {
  5. var el
  6. beforeEach(function () {
  7. el = document.createElement('div')
  8. spyOn(_, 'warn')
  9. })
  10. it('element', function () {
  11. var vm = new Vue({
  12. el: el,
  13. template: '<div v-partial="test"></div>',
  14. partials: {
  15. test: '<p>{{a}}</p><p>{{b}}</p>'
  16. },
  17. data: {
  18. a: 'A',
  19. b: 'B'
  20. }
  21. })
  22. expect(el.innerHTML).toBe('<div><p>A</p><p>B</p></div>')
  23. })
  24. it('inline', function () {
  25. var vm = new Vue({
  26. el: el,
  27. template: '<div>{{>test}}</div>',
  28. partials: {
  29. test: '<p>{{a}}</p><p>{{b}}</p>'
  30. },
  31. data: {
  32. a: 'A',
  33. b: 'B'
  34. }
  35. })
  36. expect(el.innerHTML).toBe('<div><p>A</p><p>B</p></div>')
  37. })
  38. it('not found', function () {
  39. var vm = new Vue({
  40. el: el,
  41. template: '<div>{{>test}}</div>'
  42. })
  43. expect(el.innerHTML).toBe('<div><!--v-partial--></div>')
  44. })
  45. })
  46. }