pre.spec.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import Vue from 'vue'
  2. describe('Directive v-pre', function () {
  3. it('should not compile inner content', function () {
  4. const vm = new Vue({
  5. template: `<div>
  6. <div v-pre>{{ a }}</div>
  7. <div>{{ a }}</div>
  8. <div v-pre>
  9. <component is="div"></component>
  10. </div>
  11. </div>`,
  12. data: {
  13. a: 123
  14. }
  15. })
  16. vm.$mount()
  17. expect(vm.$el.firstChild.textContent).toBe('{{ a }}')
  18. expect(vm.$el.children[1].textContent).toBe('123')
  19. expect(vm.$el.lastChild.innerHTML).toBe('<component is="div"></component>')
  20. })
  21. it('should not compile on root node', function () {
  22. const vm = new Vue({
  23. template: '<div v-pre>{{ a }}</div>',
  24. replace: true,
  25. data: {
  26. a: 123
  27. }
  28. })
  29. vm.$mount()
  30. expect(vm.$el.firstChild.textContent).toBe('{{ a }}')
  31. })
  32. // #8286
  33. it('should not compile custom component tags', function () {
  34. Vue.component('vtest', { template: ` <div>Hello World</div>` })
  35. const vm = new Vue({
  36. template: '<div v-pre><vtest></vtest></div>',
  37. replace: true
  38. })
  39. vm.$mount()
  40. expect(vm.$el.firstChild.tagName).toBe('VTEST')
  41. })
  42. })