1
2/*
3Copyright é 2001-2004 World Wide Web Consortium,
4(Massachusetts Institute of Technology, European Research Consortium
5for Informatics and Mathematics, Keio University). All
6Rights Reserved. This work is distributed under the W3Cî Software License [1] in the
7hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8the 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    */
19function getTargetURI() {
20      return "http://www.w3.org/2001/DOM-Test-Suite/level1/core/hc_characterdatadeletedatagetlengthanddata";
21   }
22
23var docsLoaded = -1000000;
24var 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//
35function 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.
69function 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*/
96function 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
130function runTest() {
131   hc_characterdatadeletedatagetlengthanddata();
132}
133