Changeset 20855 for lang/cplusplus

Show
Ignore:
Timestamp:
10/06/08 22:45:35 (2 months ago)
Author:
tokuhirom
Message:

added node.insertAfter

Location:
lang/cplusplus/llv8call/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/cplusplus/llv8call/trunk/ext/libxml/node.cc

    r20853 r20855  
    8282END 
    8383 
     84FUNCTION(insertBefore) 
     85    ARG_COUNT(2); 
     86    EXTERNAL_NODE(); 
     87    EXTERNAL_DOC(); 
     88    ARG_node(newnode, 0); 
     89    ARG_node(refnode, 1); 
     90    xmlNodePtr rNode = domInsertBefore( node, newnode, refnode ); 
     91    assert(rNode); 
     92    return createNode( doc, rNode ); 
     93END 
     94 
     95FUNCTION(insertAfter) 
     96    ARG_COUNT(2); 
     97    EXTERNAL_NODE(); 
     98    EXTERNAL_DOC(); 
     99    ARG_node(newnode, 0); 
     100    ARG_node(refnode, 1); 
     101    xmlNodePtr rNode = domInsertAfter( node, newnode, refnode ); 
     102    assert(rNode); 
     103    return createNode( doc, rNode ); 
     104END 
     105 
    84106FUNCTION(removeChild) 
    85107    ARG_BETWEEN(0, 1); 
     
    109131    BIND_IM("toString",            toString); 
    110132    BIND_IM("appendChild",         appendChild); 
     133    BIND_IM("insertBefore",        insertBefore); 
     134    BIND_IM("insertAfter",         insertAfter); 
    111135    BIND_IM("removeChild",         removeChild); 
    112136    BIND_IM("removeChildNodes",    removeChildNodes); 
     
    115139ENDSUBMODULE 
    116140 
    117 // REST: 4/50 
     141// REST: 7/50 
    118142// TODO: node.setNodeName 
    119143// TODO: node.isSameNode 
     
    138162// TODO: node.getOwner 
    139163// TODO: node.setOwnerDocument 
    140 // TODO: node.insertBefore 
    141 // TODO: node.insertAfter 
    142164// TODO: node.findnodes 
    143165// TODO: node.find 
  • lang/cplusplus/llv8call/trunk/t/070_libxml/01_simple.js

    r20853 r20855  
    1616is(root.toString(), "<foo/>", "node.toString"); 
    1717var bar = doc.createElement("bar"); 
    18 var baz = doc.createElement("baz"); 
     18var eee = doc.createElement("eee"); 
    1919root.appendChild(bar); 
    2020is(root.toString(), "<foo><bar/></foo>", "node.appendChild"); 
     
    2222is(root.toString(), "<foo/>", "node.removeChild"); 
    2323root.appendChild(bar); 
    24 root.appendChild(baz); 
    25 is(root.toString(), "<foo><bar/><baz/></foo>", "node.appendChild"); 
     24root.appendChild(eee); 
     25is(root.toString(), "<foo><bar/><eee/></foo>", "node.appendChild"); 
    2626root.removeChildNodes(); 
    2727is(root.toString(), "<foo/>", "node.removeChildNodes"); 
     28root.appendChild(bar); 
     29is(root.insertBefore(eee, bar).nodeName(), 'eee', 'node.insertBefore'); 
     30is(root.toString(), "<foo><eee/><bar/></foo>", "node.insertBefore"); 
     31root.removeChildNodes(); 
     32root.appendChild(bar); 
     33is(root.insertAfter(eee, bar).nodeName(), 'eee', 'node.insertAfter'); 
     34is(root.toString(), "<foo><bar/><eee/></foo>", "node.insertAfter"); 
    2835doc.close(); 
    2936