| OLD | NEW | 
|    1  |  | 
|    2 /* |    1 /* | 
|    3 Copyright © 2001-2004 World Wide Web Consortium,  |    2 Copyright © 2001-2004 World Wide Web Consortium, | 
|    4 (Massachusetts Institute of Technology, European Research Consortium  |    3 (Massachusetts Institute of Technology, European Research Consortium | 
|    5 for Informatics and Mathematics, Keio University). All  |    4 for Informatics and Mathematics, Keio University). All | 
|    6 Rights Reserved. This work is distributed under the W3C® Software License [1] i
     n the  |    5 Rights Reserved. This work is distributed under the W3C® Software License [1] i
     n the | 
|    7 hope that it will be useful, but WITHOUT ANY WARRANTY; without even  |    6 hope that it will be useful, but WITHOUT ANY WARRANTY; without even | 
|    8 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  |    7 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|    9  |    8  | 
|   10 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 |    9 [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 | 
|   11 */ |   10 */ | 
|   12  |   11  | 
|   13  |  | 
|   14  |  | 
|   15    /** |   12    /** | 
|   16     *  Gets URI that identifies the test. |   13     *  Gets URI that identifies the test. | 
|   17     *  @return uri identifier of test |   14     *  @return uri identifier of test | 
|   18     */ |   15     */ | 
|   19 function getTargetURI() { |   16 function getTargetURI() { | 
|   20       return "http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild
     08"; |   17       return "http://www.w3.org/2001/DOM-Test-Suite/level3/core/nodereplacechild
     08"; | 
|   21    } |   18    } | 
|   22  |   19  | 
|   23 var docsLoaded = -1000000; |   20 var docsLoaded = -1000000; | 
|   24 var builder = null; |   21 var builder = null; | 
|   25  |   22  | 
|   26 // |   23 // | 
|   27 //   This function is called by the testing framework before |   24 //   This function is called by the testing framework before | 
|   28 //      running the test suite. |   25 //      running the test suite. | 
|   29 // |   26 // | 
|   30 //   If there are no configuration exceptions, asynchronous |   27 //   If there are no configuration exceptions, asynchronous | 
|   31 //        document loading is started.  Otherwise, the status |   28 //        document loading is started.  Otherwise, the status | 
|   32 //        is set to complete and the exception is immediately |   29 //        is set to complete and the exception is immediately | 
|   33 //        raised when entering the body of the test. |   30 //        raised when entering the body of the test. | 
|   34 // |   31 // | 
|   35 function setUpPage() { |   32 function setUpPage() { | 
|   36    setUpPageStatus = 'running'; |   33    setUpPageStatus = 'running'; | 
|   37    try { |   34    try { | 
|   38      // |   35      // | 
|   39      //   creates test document builder, may throw exception |   36      //   creates test document builder, may throw exception | 
|   40      // |   37      // | 
|   41      builder = createConfiguredBuilder(); |   38      builder = createConfiguredBuilder(); | 
|   42  |   39  | 
|   43       docsLoaded = 0; |   40       docsLoaded = 0; | 
|   44        |   41  | 
|   45       var docRef = null; |   42       var docRef = null; | 
|   46       if (typeof(this.doc) != 'undefined') { |   43       if (typeof(this.doc) != 'undefined') { | 
|   47         docRef = this.doc; |   44         docRef = this.doc; | 
|   48       } |   45       } | 
|   49       docsLoaded += preload(docRef, "doc", "barfoo"); |   46       docsLoaded += preload(docRef, "doc", "barfoo"); | 
|   50          |   47  | 
|   51        if (docsLoaded == 1) { |   48        if (docsLoaded == 1) { | 
|   52           setUpPageStatus = 'complete'; |   49           setUpPageStatus = 'complete'; | 
|   53        } |   50        } | 
|   54     } catch(ex) { |   51     } catch(ex) { | 
|   55     »   catchInitializationError(builder, ex); |   52         catchInitializationError(builder, ex); | 
|   56         setUpPageStatus = 'complete'; |   53         setUpPageStatus = 'complete'; | 
|   57     } |   54     } | 
|   58 } |   55 } | 
|   59  |   56  | 
|   60  |  | 
|   61  |  | 
|   62 // |   57 // | 
|   63 //   This method is called on the completion of  |   58 //   This method is called on the completion of | 
|   64 //      each asychronous load started in setUpTests. |   59 //      each asychronous load started in setUpTests. | 
|   65 // |   60 // | 
|   66 //   When every synchronous loaded document has completed, |   61 //   When every synchronous loaded document has completed, | 
|   67 //      the page status is changed which allows the |   62 //      the page status is changed which allows the | 
|   68 //      body of the test to be executed. |   63 //      body of the test to be executed. | 
|   69 function loadComplete() { |   64 function loadComplete() { | 
|   70     if (++docsLoaded == 1) { |   65     if (++docsLoaded == 1) { | 
|   71         setUpPageStatus = 'complete'; |   66         setUpPageStatus = 'complete'; | 
|   72     } |   67     } | 
|   73 } |   68 } | 
|   74  |   69  | 
|   75  |  | 
|   76 /** |   70 /** | 
|   77 *  |   71 * | 
|   78 »       Using replaceChild on this Document node attempt to replace this Documen
     tElement node  |   72     Using replaceChild on this Document node attempt to replace this DocumentEle
     ment node | 
|   79 »       with  a new element that was created in another document and verify if a |   73     with  a new element that was created in another document and verify if a | 
|   80 »       WRONG_DOCUMENT_ERR is thrown. |   74     WRONG_DOCUMENT_ERR is thrown. | 
|   81  |   75  | 
|   82 * @author IBM |   76 * @author IBM | 
|   83 * @author Neil Delima |   77 * @author Neil Delima | 
|   84 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-785887307 |   78 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#ID-785887307 | 
|   85 */ |   79 */ | 
|   86 function nodereplacechild08() { |   80 function nodereplacechild08() { | 
|   87    var success; |   81    var success; | 
|   88     if(checkInitialization(builder, "nodereplacechild08") != null) return; |   82     if(checkInitialization(builder, "nodereplacechild08") != null) return; | 
|   89     var doc; |   83     var doc; | 
|   90       var doc2; |   84       var doc2; | 
|   91       var docElem; |   85       var docElem; | 
|   92       var elem; |   86       var elem; | 
|   93       var nodeName; |   87       var nodeName; | 
|   94       var replaced; |   88       var replaced; | 
|   95       var rootNS; |   89       var rootNS; | 
|   96       var rootName; |   90       var rootName; | 
|   97       var domImpl; |   91       var domImpl; | 
|   98       var nullDocType = null; |   92       var nullDocType = null; | 
|   99  |   93  | 
|  100        |  | 
|  101       var docRef = null; |   94       var docRef = null; | 
|  102       if (typeof(this.doc) != 'undefined') { |   95       if (typeof(this.doc) != 'undefined') { | 
|  103         docRef = this.doc; |   96         docRef = this.doc; | 
|  104       } |   97       } | 
|  105       doc = load(docRef, "doc", "barfoo"); |   98       doc = load(docRef, "doc", "barfoo"); | 
|  106       docElem = doc.documentElement; |   99       docElem = doc.documentElement; | 
|  107  |  100  | 
|  108       rootName = docElem.tagName; |  101       rootName = docElem.tagName; | 
|  109  |  102  | 
|  110       rootNS = docElem.namespaceURI; |  103       rootNS = docElem.namespaceURI; | 
|  111  |  104  | 
|  112       domImpl = getImplementation(); |  105       domImpl = getImplementation(); | 
|  113 doc2 = domImpl.createDocument(rootNS,rootName,nullDocType); |  106 doc2 = domImpl.createDocument(rootNS,rootName,nullDocType); | 
|  114       elem = doc2.createElementNS(rootNS,rootName); |  107       elem = doc2.createElementNS(rootNS,rootName); | 
|  115        |  108  | 
|  116       try { |  109       try { | 
|  117       replaced = doc.replaceChild(elem,docElem); |  110       replaced = doc.replaceChild(elem,docElem); | 
|  118       fail("throw_WRONG_DOCUMENT_OR_NOT_SUPPORTED"); |  111       fail("throw_WRONG_DOCUMENT_OR_NOT_SUPPORTED"); | 
|  119       |  112  | 
|  120       } catch (ex) { |  113       } catch (ex) { | 
|  121 »       »         if (typeof(ex.code) != 'undefined') {       |  114           if (typeof(ex.code) != 'undefined') { | 
|  122        switch(ex.code) { |  115        switch(ex.code) { | 
|  123        case /* WRONG_DOCUMENT_ERR */ 4 : |  116        case /* WRONG_DOCUMENT_ERR */ 4 : | 
|  124        break; |  117        break; | 
|  125       case /* NOT_SUPPORTED_ERR */ 9 : |  118       case /* NOT_SUPPORTED_ERR */ 9 : | 
|  126        break; |  119        break; | 
|  127           default: |  120           default: | 
|  128           throw ex; |  121           throw ex; | 
|  129           } |  122           } | 
|  130        } else {  |  123        } else { | 
|  131        throw ex; |  124        throw ex; | 
|  132         } |  125         } | 
|  133          } |  126          } | 
|  134          |  127  | 
|  135 } |  128 } | 
|  136  |  129  | 
|  137  |  | 
|  138  |  | 
|  139  |  | 
|  140 function runTest() { |  130 function runTest() { | 
|  141    nodereplacechild08(); |  131    nodereplacechild08(); | 
|  142 } |  132 } | 
| OLD | NEW |