2013-03-04 98 views
0

我剛剛從github檢出了R2D3,現在我想運行測試。我是新來的這個回購,而不是JS測試的專家,但認爲這樣做的正確方法是在網絡瀏覽器中查看tests/index.html,並查看QUnit測試是否通過。R2D3的QUnit測試開箱失敗 - 我做錯了什麼?

然而,當我嘗試這樣做,41出52次測試失敗直開箱(在Chrome,Firefox和Safari瀏覽器上OSX):

enter image description here

我可以從開發者工具看所有的文件加載正確,所以它不僅僅是一個路徑是錯誤的。看代碼表明.append()失敗。前兩個錯誤在line 16tests/core/append-tests.jsvar el = svg.append('image')line 20var 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; 
} 

然而,我的能力去調試沒有進一步。任何人都可以提出什麼可能會出錯?

回答

2

看起來你正在使用Chrome運行qunit測試。 R2D3僅適用於IE。

+0

Duhhhhh!謝謝。我將安裝一個IE虛擬機並嘗試一下。 – Richard 2013-03-04 17:10:52

相關問題