From 562994ad02868d507b4d9398e1f9732685573cb0 Mon Sep 17 00:00:00 2001 From: Atul Varma Date: Sun, 27 May 2012 05:55:40 -0400 Subject: [PATCH] nodeToCode() now works on void elements. --- js/fc/ui/preview-to-editor-mapping.js | 11 +++++++---- .../test-preview-to-editor-mapping.js | 7 +++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/js/fc/ui/preview-to-editor-mapping.js b/js/fc/ui/preview-to-editor-mapping.js index 8e53810..8c3e44f 100644 --- a/js/fc/ui/preview-to-editor-mapping.js +++ b/js/fc/ui/preview-to-editor-mapping.js @@ -39,12 +39,15 @@ define([ var path = "html " + pathTo(root, node); var parallelNode = docFrag.querySelector(path); var result = null; - if (parallelNode) + if (parallelNode) { + var pi = parallelNode.parseInfo; + var isVoidElement = !pi.closeTag; result = { - start: parallelNode.parseInfo.openTag.start, - end: parallelNode.parseInfo.closeTag.end, - contentStart: parallelNode.parseInfo.openTag.end + start: pi.openTag.start, + end: isVoidElement ? pi.openTag.end : pi.closeTag.end, + contentStart: isVoidElement ? pi.openTag.start : pi.openTag.end }; + } if (origDocFrag != docFrag) { for (i = 0; i < htmlNode.childNodes.length; i++) origDocFrag.appendChild(htmlNode.childNodes[i]); diff --git a/test/preview-to-editor-mapping/test-preview-to-editor-mapping.js b/test/preview-to-editor-mapping/test-preview-to-editor-mapping.js index 565d61e..137b38e 100644 --- a/test/preview-to-editor-mapping/test-preview-to-editor-mapping.js +++ b/test/preview-to-editor-mapping/test-preview-to-editor-mapping.js @@ -48,6 +48,13 @@ require([ expect: "

u

" }); + n2cTest({ + name: "nodeToCode() works on void element", + html: '', + selector: "img", + expect: '' + }); + n2cTest({ name: "nodeToCode() can't map to anything from implied ", html: "

hi

",