0
我剛剛從github檢出了R2D3,現在我想運行測試。我是新來的這個回購,而不是JS測試的專家,但認爲這樣做的正確方法是在網絡瀏覽器中查看tests/index.html,並查看QUnit測試是否通過。R2D3的QUnit測試開箱失敗 - 我做錯了什麼?
然而,當我嘗試這樣做,41出52次測試失敗直開箱(在Chrome,Firefox和Safari瀏覽器上OSX):
我可以從開發者工具看所有的文件加載正確,所以它不僅僅是一個路徑是錯誤的。看代碼表明.append()
失敗。前兩個錯誤在line 16處tests/core/append-tests.js
:var el = svg.append('image')
和line 20:var el = svg.append('line')
。
跟蹤問題back to the root in r2d3.v2.js
,它似乎是這兩個功能是問題:
Raphael.fn.appendChild = function(childNode) {
var node = this.buildElement(childNode);
if (node) {
this.shadowDom.appendChild(childNode);
node.updateStyle(); // Apply CSS styles
}
return node;
};
Raphael.fn.buildElement = function(childNode) {
var type = childNode && childNode.nodeName,
node = type ? this[type.toLowerCase()]() : null;
if (node) {
// Ensure Paper can be referenced from sets
node.shadowDom = childNode
node.parentNode = this;
// Link the shadowDOM node by the Raphael id.
node.shadowDom.r2d3 = true;
node.shadowDom.r2d3id = r2d3UID();
node.paper = this;
node.tagName = type.toLowerCase();
node.style = new ElementStyle(node);
r2d3Elements[node.shadowDom.r2d3id] = node;
}
return node;
}
然而,我的能力去調試沒有進一步。任何人都可以提出什麼可能會出錯?
Duhhhhh!謝謝。我將安裝一個IE虛擬機並嘗試一下。 – Richard 2013-03-04 17:10:52