Changeset 21002

Show
Ignore:
Timestamp:
10/09/08 00:04:42 (3 months ago)
Author:
tokuhirom
Message:

added node.setNodeName.

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

Legend:

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

    r20986 r21002  
    7171END 
    7272 
    73 FUNCTION(_documentElement) 
     73FUNCTION(documentElement) 
    7474    ARG_COUNT(0); 
    7575    EXTERNAL_DOC(); 
     
    191191    BIND_IM("setEncoding",            setEncoding); 
    192192    BIND_IM("version",                _version); 
    193     BIND_IM("documentElement",        _documentElement); 
     193    BIND_IM("documentElement",        documentElement); 
    194194    BIND_IM("setDocumentElement",     setDocumentElement); 
    195195    BIND_IM("createElement",          createElement); 
     
    222222// TODO: doc.is_valid 
    223223// TODO: doc.validate 
    224 // TODO: doc.documentElement 
    225224// TODO: doc.createElementNS 
    226225// TODO: doc.createAttributeNS 
  • lang/cplusplus/llv8call/trunk/ext/libxml/node.cc

    r20999 r21002  
    3535ENDSUBMODULE 
    3636 
    37 // REST: 13/50 
     37// REST: 14/50 
    3838 
    39 // TODO: node.setNodeName 
    4039// TODO: node.isSameNode 
    4140// TODO: node.isEqual 
  • lang/cplusplus/llv8call/trunk/ext/libxml/node.h

    r20999 r21002  
    1717    EXTERNAL_NODE(); 
    1818    return String::New((char*)domName(node)); 
     19END 
     20 
     21FUNCTION(setNodeName) 
     22    ARG_COUNT(1); 
     23    ARG_str(name, 0); 
     24    EXTERNAL_NODE(); 
     25    xmlNodeSetName(node, (const xmlChar*)*name); 
     26    return Undefined(); 
    1927END 
    2028 
     
    214222static inline void setupNodeIM(Handle<ObjectTemplate> OBJECT_TEMPLATE) { 
    215223    BIND_IM("nodeName",            nodeName); 
     224    BIND_IM("setNodeName",         setNodeName); 
    216225    BIND_IM("toString",            toString); 
    217226    BIND_IM("appendChild",         appendChild); 
  • lang/cplusplus/llv8call/trunk/t/070_libxml/02_dom.js

    r20999 r21002  
    11require('t/util.js'); 
    22 
    3 plan({tests:31}); 
     3plan({tests:32}); 
    44 
    55check_lib("org.coderepos.libxml"); 
    66var libxml = org.coderepos.libxml; 
    77 
    8 var doc = new libxml.Document.createDocument("1.0"); 
    9 var foo = doc.createElement("foo"); 
    10 doc.setDocumentElement(foo); 
    11 var root = doc.documentElement(); 
    12 var bar = doc.createElement("bar"); 
    13 var eee = doc.createElement("eee"); 
     8var doc; 
     9var foo; 
     10var root; 
     11var bar; 
     12var eee; 
    1413 
    1514function test(cb, purpose) { 
    16     root.removeChildNodes(); 
     15    doc = new libxml.Document.createDocument("1.0"); 
     16    foo = doc.createElement("foo"); 
     17    doc.setDocumentElement(foo); 
     18    root = doc.documentElement(); 
     19    bar = doc.createElement("bar"); 
     20    eee = doc.createElement("eee"); 
    1721    cb(); 
    1822} 
     
    2125    root.appendChild(bar); 
    2226    is(root.toString(), "<foo><bar/></foo>", "node.appendChild"); 
     27}); 
     28 
     29test(function () { 
     30    root.setNodeName("yay"); 
     31    is(root.toString(), "<yay/>", "node.setNodeName"); 
    2332}); 
    2433 
     
    109118    var cdata = doc.createCDATASection("foo"); 
    110119    root.appendChild(cdata); 
    111     is(root.toString(),  '<foo foo="baz"><![CDATA[foo]]></foo>',               'doc.createCDATASection()'); 
     120    is(root.toString(),  '<foo><![CDATA[foo]]></foo>',               'doc.createCDATASection()'); 
    112121}); 
    113122 
     
    119128    root.appendChild(f2); 
    120129    root.appendChild(f3); 
    121     is(root.toString(),  '<foo foo="baz"><f1/><f2/><f3/></foo>',           'doc.nextSibling()'); 
     130    is(root.toString(),  '<foo><f1/><f2/><f3/></foo>',                     'doc.nextSibling()'); 
    122131    is(f2.nextSibling().nodeName(),     'f3',                              'doc.nextSibling()'); 
    123132    is(f3.nextSibling(),                undefined,                         'doc.nextSibling()');