Forráskód Böngészése

add test case for removing transcluded directives

Evan You 11 éve
szülő
commit
43ccd4c711
1 módosított fájl, 27 hozzáadás és 0 törlés
  1. 27 0
      test/unit/specs/compiler/compile_spec.js

+ 27 - 0
test/unit/specs/compiler/compile_spec.js

@@ -270,5 +270,32 @@ if (_.inBrowser) {
       expect(childSpy).toHaveBeenCalledWith(2)
     })
 
+    it('should remove transcluded directives from parent when unlinking', function (done) {
+      var vm = new Vue({
+        el: el,
+        template:
+          '<div v-if="ok">' +
+            '<div v-component="test">{{test}}</div>' +
+          '</div>',
+        data: {
+          test: 'parent',
+          ok: true
+        },
+        components: {
+          test: {
+            template: '<content></content>'
+          }
+        }
+      })
+      expect(vm.$el.textContent).toBe('parent')
+      expect(vm._directives.length).toBe(3)
+      vm.ok = false
+      _.nextTick(function () {
+        expect(vm.$el.textContent).toBe('')
+        expect(vm._directives.length).toBe(1)
+        done()
+      })
+    })
+
   })
 }