html_spec.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. var _ = require('src/util')
  2. var def = require('src/directives/public/html')
  3. describe('v-html', function () {
  4. var el
  5. beforeEach(function () {
  6. el = document.createElement('div')
  7. })
  8. it('element', function () {
  9. var dir = {
  10. el: el
  11. }
  12. _.extend(dir, def)
  13. dir.bind()
  14. dir.update('<div>1234</div><p>234</p>')
  15. expect(el.innerHTML).toBe('<div>1234</div><p>234</p>')
  16. dir.update('<p>123</p><div>444</div>')
  17. expect(el.innerHTML).toBe('<p>123</p><div>444</div>')
  18. dir.update(null)
  19. expect(el.innerHTML).toBe('')
  20. })
  21. it('inline', function () {
  22. var node = document.createComment('html-test')
  23. el.appendChild(node)
  24. var dir = {
  25. el: node
  26. }
  27. _.extend(dir, def)
  28. dir.bind()
  29. dir.update('<div>1234</div><p>234</p>')
  30. expect(el.innerHTML).toBe('<div>1234</div><p>234</p>')
  31. dir.update('<p>123</p><div>444</div>')
  32. expect(el.innerHTML).toBe('<p>123</p><div>444</div>')
  33. dir.update(null)
  34. expect(el.innerHTML).toBe('')
  35. })
  36. it('inline keep whitespace', function () {
  37. var node = document.createComment('html-test')
  38. el.appendChild(node)
  39. var dir = {
  40. el: node
  41. }
  42. _.extend(dir, def)
  43. dir.bind()
  44. dir.update(' <p>span</p> ')
  45. expect(el.innerHTML).toBe(' <p>span</p> ')
  46. })
  47. })