402871 - r=sayre, a=schrep - handle cases where an include is specified, but it doesn't exist

This commit is contained in:
mkaply@us.ibm.com 2008-01-16 11:19:21 -08:00
Родитель b8d57bb787
Коммит a4bd9a1d85
2 изменённых файлов: 19 добавлений и 4 удалений

Просмотреть файл

@ -703,16 +703,20 @@ var Microformats = {
if (includes[i].nodeName.toLowerCase() == "object") {
includeId = includes[i].getAttribute("data").substr(1);
}
includes[i].parentNode.replaceChild(in_mfnode.ownerDocument.getElementById(includeId).cloneNode(true), includes[i]);
if (in_mfnode.ownerDocument.getElementById(includeId)) {
includes[i].parentNode.replaceChild(in_mfnode.ownerDocument.getElementById(includeId).cloneNode(true), includes[i]);
}
}
} else {
var headers = in_mfnode.getAttribute("headers").split(" ");
for (let i = 0; i < headers.length; i++) {
var tempNode = in_mfnode.ownerDocument.createElement("span");
var headerNode = in_mfnode.ownerDocument.getElementById(headers[i]);
tempNode.innerHTML = headerNode.innerHTML;
tempNode.className = headerNode.className;
mfnode.appendChild(tempNode);
if (headerNode) {
tempNode.innerHTML = headerNode.innerHTML;
tempNode.className = headerNode.className;
mfnode.appendChild(tempNode);
}
}
}
} else {

Просмотреть файл

@ -399,6 +399,10 @@
<a href="#email1" class="include"/>
<a href="#email2"/>
</div>
<div class="vcard" id="31-include.4">
<a class="url fn" href="http://suda.co.uk/">Brian Suda</a>
<a href="#email" class="include"/>
</div>
<table>
<tr>
@ -958,6 +962,13 @@ function test_hCard() {
is(hcard.email[0].value, "correct@example.com", "31-include.3 - email");
isnot(hcard.email[0].value, "incorrect@example.com", "31-include.3 - email");
hcard = new hCard(document.getElementById("31-include.4"));
is(hcard.fn, "Brian Suda", "31-include.3 - fn");
is(hcard.n["given-name"], "Brian", "31-include.3 - given-name");
is(hcard.n["family-name"], "Suda", "31-include.3 - family-name");
is(hcard.url, "http://suda.co.uk/", "31-include.3 - url");
hcard = new hCard(document.getElementById("32-header.1"));
is(hcard.fn, "Brian Suda", "32-header.1 - fn");