diff --git a/docs/layout/style.css b/docs/layout/style.css index 8c92cac2..1c63dc6b 100644 --- a/docs/layout/style.css +++ b/docs/layout/style.css @@ -19,7 +19,7 @@ [class*=',12)'] {width:100%;} } -html {background:#999;color:#222;font:14px Helvetica;} +html {background:#999;color:#222;font:14px/1.4 Helvetica;} html,body {margin:0;padding:0;} header,footer {background:#999;} nav {text-align:right;} @@ -89,4 +89,4 @@ background-size: 20px 20px; @-webkit-keyframes logo { from {opacity:0;-webkit-transform:scale(2) rotate(359deg);} to {opacity:1;-webkit-transform:scale(1) rotate(0deg);} -} \ No newline at end of file +} diff --git a/mithril.js b/mithril.js index 01a59004..f036d7e8 100644 --- a/mithril.js +++ b/mithril.js @@ -304,7 +304,7 @@ var m = (function app(window, undefined) { configs.push(callback(data, [node, !isNew, context, cached])) } } - else if (typeof dataType != FUNCTION) { + else if (typeof data != FUNCTION) { //handle text nodes var nodes; if (cached.nodes.length === 0) { @@ -380,7 +380,7 @@ var m = (function app(window, undefined) { //handle cases that are properties (but ignore cases where we should use setAttribute instead) //- list and form are typically used as strings, but are DOM element references in js //- when using CSS selectors (e.g. `m("[style='']")`), style is used as a string, but it's an object in js - else if (attrName in node && !(attrName === "list" || attrName === "style" || attrName === "form" || attrName === "type")) { + else if (attrName in node && !(attrName === "list" || attrName === "style" || attrName === "form" || attrName === "type" || attrName === "width" || attrName === "height")) { //#348 don't set the value if not needed otherwise cursor placement breaks in Chrome if (tag !== "input" || node[attrName] !== dataAttr) node[attrName] = dataAttr } diff --git a/tests/mithril-tests.js b/tests/mithril-tests.js index 26b37fb2..7077d170 100644 --- a/tests/mithril-tests.js +++ b/tests/mithril-tests.js @@ -41,7 +41,7 @@ function testMithril(mock) { test(function() {return m("div", [1, 2, 3], [4, 5, 6, 7]).children[0].length === 3}) test(function() {return m("div", [1, 2, 3], [4, 5, 6, 7]).children[1].length === 4}) test(function() {return m("div", [1], [2], [3]).children.length === 3}) - + //m.module test(function() { mock.requestAnimationFrame.$resolve() @@ -1243,6 +1243,11 @@ function testMithril(mock) { ]) return root.childNodes.map(function(node) {return node.id}).join() == "div-1,div-3,div-2" }) + test(function() { + var root = mock.document.createElement("div") + m.render(root, m("div", function() {})) + return root.childNodes[0].childNodes.length == 0 + }) //end m.render //m.redraw