Changeset 20853 for lang/cplusplus

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

added node.removeChildNodes

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

Legend:

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

    r20852 r20853  
    9191END 
    9292 
     93// remove whole child nodes 
     94FUNCTION(removeChildNodes) 
     95    ARG_BETWEEN(0, 1); 
     96    EXTERNAL_NODE(); 
     97    xmlNodePtr elem = node->children; 
     98    while (elem ) { 
     99        xmlUnlinkNode( elem ); 
     100        elem = elem->next; 
     101    } 
     102    node->children = node->last = NULL; 
     103    return Undefined(); 
     104END 
     105 
    93106SUBMODULE(init_node) 
    94107    CLASS_WITH_CONSTRUCTOR(_new); 
    95     BIND_IM("nodeName",       nodeName); 
    96     BIND_IM("toString",       toString); 
    97     BIND_IM("appendChild",    appendChild); 
    98     BIND_IM("removeChild",    removeChild); 
     108    BIND_IM("nodeName",            nodeName); 
     109    BIND_IM("toString",            toString); 
     110    BIND_IM("appendChild",         appendChild); 
     111    BIND_IM("removeChild",         removeChild); 
     112    BIND_IM("removeChildNodes",    removeChildNodes); 
    99113    INTERNALCOUNT(2); 
    100114    EXPORT_CLASS("Node"); 
    101115ENDSUBMODULE 
    102116 
    103 // REST: 3/50 
     117// REST: 4/50 
    104118// TODO: node.setNodeName 
    105119// TODO: node.isSameNode 
     
    109123// TODO: node.nodeType 
    110124// TODO: node.unbindNode 
    111 // TODO: node.removeChild 
    112125// TODO: node.replaceChild 
    113126// TODO: node.replaceNode 
     
    146159// TODO: node.normalize 
    147160// TODO: node.getNamespaces 
    148 // TODO: node.removeChildNodes 
    149161// TODO: node.nodePath 
    150162// TODO: node.line_number 
  • lang/cplusplus/llv8call/trunk/t/070_libxml/01_simple.js

    r20852 r20853  
    11require('t/util.js'); 
    22 
    3 plan({tests:4}); 
     3plan({tests:11}); 
    44 
    55check_lib("org.coderepos.libxml"); 
     
    1616is(root.toString(), "<foo/>", "node.toString"); 
    1717var bar = doc.createElement("bar"); 
     18var baz = doc.createElement("baz"); 
    1819root.appendChild(bar); 
    1920is(root.toString(), "<foo><bar/></foo>", "node.appendChild"); 
    2021root.removeChild(bar); 
    2122is(root.toString(), "<foo/>", "node.removeChild"); 
     23root.appendChild(bar); 
     24root.appendChild(baz); 
     25is(root.toString(), "<foo><bar/><baz/></foo>", "node.appendChild"); 
     26root.removeChildNodes(); 
     27is(root.toString(), "<foo/>", "node.removeChildNodes"); 
    2228doc.close(); 
    2329