render clears non-mithril dom nodes
This commit is contained in:
parent
5eb9c9010b
commit
c92e24b7e1
4 changed files with 31 additions and 2 deletions
|
|
@ -1,7 +1,6 @@
|
|||
"use strict"
|
||||
|
||||
var Vnode = require("../render/vnode")
|
||||
var coreRenderer = require("../render/render")
|
||||
var autoredraw = require("../api/autoredraw")
|
||||
var dummy = {view: function() {}}
|
||||
|
||||
|
|
|
|||
|
|
@ -514,7 +514,12 @@ module.exports = function($window) {
|
|||
function render(dom, vnodes) {
|
||||
var hooks = []
|
||||
var active = $doc.activeElement
|
||||
if (dom.vnodes == null) dom.vnodes = []
|
||||
|
||||
// First time rendering into a node clears it out
|
||||
if (dom.vnodes == null) {
|
||||
dom.vnodes = []
|
||||
dom.textContent = "";
|
||||
}
|
||||
|
||||
if (!(vnodes instanceof Array)) vnodes = [vnodes]
|
||||
updateNodes(dom, dom.vnodes, Vnode.normalizeChildren(vnodes), hooks, null, undefined)
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
<script src="test-input.js"></script>
|
||||
<script src="test-textContent.js"></script>
|
||||
<script src="test-component.js"></script>
|
||||
<script src="test-render.js"></script>
|
||||
|
||||
<script>require("../../ospec/ospec").run()</script>
|
||||
</body>
|
||||
|
|
|
|||
24
render/tests/test-render.js
Normal file
24
render/tests/test-render.js
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
"use strict"
|
||||
|
||||
var o = require("../../ospec/ospec")
|
||||
var domMock = require("../../test-utils/domMock")
|
||||
var vdom = require("../../render/render")
|
||||
|
||||
o.spec("render", function() {
|
||||
var $window, root, render
|
||||
o.beforeEach(function() {
|
||||
$window = domMock()
|
||||
root = $window.document.createElement("div")
|
||||
render = vdom($window).render
|
||||
})
|
||||
|
||||
o("overwrites existing content", function() {
|
||||
var vnodes = [{tag: "a", text: null}]
|
||||
|
||||
root.appendChild($window.document.createElement("div"));
|
||||
|
||||
render(root, vnodes)
|
||||
|
||||
o(root.childNodes.length).equals(1)
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue