Changeset 20340

Show
Ignore:
Timestamp:
10/01/08 08:44:11 (5 years ago)
Author:
tokuhirom
Message:

added elem.nodeValue, elem.setNodeValue

Location:
lang/cplusplus/llv8call/branches/gdome
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/cplusplus/llv8call/branches/gdome/ext/gdome/document.cc

    r20254 r20340  
    149149    ot->Set("getElementById",            FunctionTemplate::New(_getElementById)); 
    150150    ot->Set("firstChild",                FunctionTemplate::New(_firstChild)); 
    151     ot->Set("lastChild",                FunctionTemplate::New(_lastChild)); 
     151    ot->Set("lastChild",                 FunctionTemplate::New(_lastChild)); 
    152152    ot->Set("hasChildNodes",             FunctionTemplate::New(_hasChildNodes)); 
    153153    ot->Set("Close",                     FunctionTemplate::New(_close)); 
  • lang/cplusplus/llv8call/branches/gdome/ext/gdome/element.cc

    r20254 r20340  
    147147END 
    148148 
     149GFUNCTION(_nodeValue) 
     150    ARG_COUNT(0); 
     151    EXTERNAL_ELEM(); 
     152    GdomeDOMString *s = gdome_el_nodeValue(elem, &exc); 
     153    HANDLE_EXCEPTION(); 
     154    if (s) { 
     155        RETURN_STRING(s); 
     156    } else { 
     157        return Undefined(); 
     158    } 
     159END 
     160 
     161GFUNCTION(_setNodeValue) 
     162    ARG_COUNT(0); 
     163    ARG_gstr(val, 0); 
     164    EXTERNAL_ELEM(); 
     165    gdome_el_set_nodeValue(elem, *val, &exc); 
     166    HANDLE_EXCEPTION(); 
     167    return Undefined(); 
     168END 
     169 
    149170GFUNCTION(_hasChildNodes) 
    150171    ARG_COUNT(0); 
     
    173194    ot->Set("hasChildNodes",             FunctionTemplate::New(_hasChildNodes)); 
    174195    ot->Set("firstChild",                FunctionTemplate::New(_firstChild)); 
     196    ot->Set("nodeValue",                 FunctionTemplate::New(_nodeValue)); 
     197    ot->Set("setNodeValue",              FunctionTemplate::New(_setNodeValue)); 
    175198    ot->Set("lastChild",                 FunctionTemplate::New(_lastChild)); 
    176199    ot->Set("Close",                     FunctionTemplate::New(_Close)); 
  • lang/cplusplus/llv8call/branches/gdome/ext/gdome/gdome.h

    r20252 r20340  
    7878#define RETURN_TEXT(e)    RETURN_BASE("Text",     e); 
    7979#define RETURN_DOC(e)     RETURN_BASE("Document", e); 
     80#define RETURN_STRING(e)  do { Handle<String> __buf = String::New((e)->str); gdome_str_unref((e)); return __buf; } while(0) 
    8081 
  • lang/cplusplus/llv8call/branches/gdome/t/020_ext/09_gdome.js

    r20254 r20340  
    11require('t/util.js'); 
    22 
    3 Test.More.plan({tests:3}); 
     3Test.More.plan({tests:19}); 
    44 
    55check_lib("org.coderepos.gdome"); 
     
    6868}()); 
    6969 
     70(function () { 
     71    var di = new gdome.GDOME(); 
     72    var doc = di.createDocFromMemory('<?xml version="1.0"?>' + "\n" + '<TEST>3</TEST>' + "\n"); 
     73    var e = doc.firstChild().firstChild(); 
     74    Test.More.is(e.nodeValue(), '3', "doc.nodeValue()"); 
     75    e.setNodeValue(5); 
     76    Test.More.is(e.nodeValue(), '5', "doc.nodeValue()"); 
     77    Test.More.is(doc.firstChild().nodeValue(), undefined, "doc.nodeValue( element node's node value should be undefined )"); 
     78    doc.Close(); 
     79    di.Close(); 
     80}()); 
     81 
    7082// doc.getElementsByTagName 
    7183// doc.getElementById(no test)