Home | History | Annotate | Download | only in core
      1 
      2 /*
      3 Copyright  2001-2004 World Wide Web Consortium, 
      4 (Massachusetts Institute of Technology, European Research Consortium 
      5 for Informatics and Mathematics, Keio University). All 
      6 Rights Reserved. This work is distributed under the W3C Software License [1] in the 
      7 hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
      8 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
      9 
     10 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
     11 */
     12 
     13 
     14 
     15    /**
     16     *  Gets URI that identifies the test.
     17     *  @return uri identifier of test
     18     */
     19 function getTargetURI() {
     20       return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatagetlengthanddata";
     21    }
     22 
     23 var docsLoaded = -1000000;
     24 var builder = null;
     25 
     26 //
     27 //   This function is called by the testing framework before
     28 //      running the test suite.
     29 //
     30 //   If there are no configuration exceptions, asynchronous
     31 //        document loading is started.  Otherwise, the status
     32 //        is set to complete and the exception is immediately
     33 //        raised when entering the body of the test.
     34 //
     35 function setUpPage() {
     36    setUpPageStatus = 'running';
     37    try {
     38      //
     39      //   creates test document builder, may throw exception
     40      //
     41      builder = createConfiguredBuilder();
     42 
     43       docsLoaded = 0;
     44       
     45       var docRef = null;
     46       if (typeof(this.doc) != 'undefined') {
     47         docRef = this.doc;
     48       }
     49       docsLoaded += preload(docRef, "doc", "hc_staff");
     50         
     51        if (docsLoaded == 1) {
     52           setUpPageStatus = 'complete';
     53        }
     54     } catch(ex) {
     55     	catchInitializationError(builder, ex);
     56         setUpPageStatus = 'complete';
     57     }
     58 }
     59 
     60 
     61 
     62 //
     63 //   This method is called on the completion of 
     64 //      each asychronous load started in setUpTests.
     65 //
     66 //   When every synchronous loaded document has completed,
     67 //      the page status is changed which allows the
     68 //      body of the test to be executed.
     69 function loadComplete() {
     70     if (++docsLoaded == 1) {
     71         setUpPageStatus = 'complete';
     72     }
     73 }
     74 
     75 
     76 /**
     77 * 
     78     On successful invocation of the "deleteData(offset,count)"
     79    method, the "getData()" and "getLength()" methods reflect
     80    the changes. 
     81    
     82    Retrieve the character data from the last child of the
     83    first employee.  The "deleteData(offset,count)"
     84    method is then called with offset=30 and count=5.
     85    The method should delete the characters from position
     86    30 thru position 35.  The new value of the character data
     87    should be "1230 North Ave. Dallas, Texas" which is
     88    returned by the "getData()" method and "getLength()"
     89    method should return 30".
     90 
     91 * @author Curt Arnold
     92 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-72AB8359
     93 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7D61178C
     94 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-7C603781
     95 */
     96 function hc_characterdatadeletedatagetlengthanddata() {
     97    var success;
     98     if(checkInitialization(builder, "hc_characterdatadeletedatagetlengthanddata") != null) return;
     99     var doc;
    100       var elementList;
    101       var nameNode;
    102       var child;
    103       var childData;
    104       var childLength;
    105       var result = new Array();
    106 
    107       
    108       var docRef = null;
    109       if (typeof(this.doc) != 'undefined') {
    110         docRef = this.doc;
    111       }
    112       doc = load(docRef, "doc", "hc_staff");
    113       elementList = doc.getElementsByTagName("acronym");
    114       nameNode = elementList.item(0);
    115       child = nameNode.firstChild;
    116 
    117       child.deleteData(30,5);
    118       childData = child.data;
    119 
    120       assertEquals("data","1230 North Ave. Dallas, Texas ",childData);
    121        childLength = child.length;
    122 
    123       assertEquals("length",30,childLength);
    124        
    125 }
    126 
    127 
    128 
    129 
    130 function runTest() {
    131    hc_characterdatadeletedatagetlengthanddata();
    132 }
    133