el_spec.js 906 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. var _ = require('src/util')
  2. var Vue = require('src')
  3. describe('el', function () {
  4. var el
  5. beforeEach(function () {
  6. el = document.createElement('div')
  7. })
  8. it('normal', function (done) {
  9. var vm = new Vue({
  10. el: el,
  11. data: {
  12. ok: true
  13. },
  14. template: '<div v-if="ok" v-el:test-el id="test"></div>'
  15. })
  16. expect(vm.$els.testEl).toBeTruthy()
  17. expect(vm.$els.testEl.id).toBe('test')
  18. vm.ok = false
  19. _.nextTick(function () {
  20. expect(vm.$els.testEl).toBeNull()
  21. vm.ok = true
  22. _.nextTick(function () {
  23. expect(vm.$els.testEl.id).toBe('test')
  24. done()
  25. })
  26. })
  27. })
  28. it('inside v-for', function () {
  29. var vm = new Vue({
  30. el: el,
  31. data: { items: [1, 2] },
  32. template: '<div v-for="n in items"><p v-el:test>{{n}}</p>{{$els.test.textContent}}</div>'
  33. })
  34. expect(vm.$el.textContent).toBe('1122')
  35. })
  36. })