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/level3/core/domconfigerrorhandler1";
     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        if (docsLoaded == 0) {
     46           setUpPageStatus = 'complete';
     47        }
     48     } catch(ex) {
     49     	catchInitializationError(builder, ex);
     50         setUpPageStatus = 'complete';
     51     }
     52 }
     53 
     54 
     55 
     56 //
     57 //   This method is called on the completion of 
     58 //      each asychronous load started in setUpTests.
     59 //
     60 //   When every synchronous loaded document has completed,
     61 //      the page status is changed which allows the
     62 //      body of the test to be executed.
     63 function loadComplete() {
     64     if (++docsLoaded == 0) {
     65         setUpPageStatus = 'complete';
     66     }
     67 }
     68 
     69 
     70      /**
     71       *    Inner class implementation for variable errorHandler 
     72       */
     73 var errorHandler;
     74 
     75 /**
     76         * Constructor
     77 
     78         */
     79 	      
     80 function DOMErrorHandlerN10049() { 
     81            }
     82    
     83         /**
     84          *    
     85 This method is called on the error handler when an error occurs.
     86 If an exception is thrown from this method, it is considered to be equivalent of returningtrue.
     87 
     88          * @param error 
     89 The error object that describes the error. This object may be reused by the DOM implementation across multiple calls to thehandleErrormethod.
     90 
     91          */
     92 DOMErrorHandlerN10049.prototype.handleError = function(error) {
     93          //
     94          //   bring class variables into function scope
     95          //
     96                 return true;
     97 }
     98 
     99 /**
    100 * Checks behavior of "error-handler" configuration parameter.
    101 * @author Curt Arnold
    102 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#parameter-error-handler
    103 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#DOMConfiguration-getParameter
    104 * @see http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core#DOMConfiguration-setParameter
    105 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=544
    106 */
    107 function domconfigerrorhandler1() {
    108    var success;
    109     if(checkInitialization(builder, "domconfigerrorhandler1") != null) return;
    110     var domImpl;
    111       var doc;
    112       var domConfig;
    113       var nullDocType = null;
    114 
    115       var canSet;
    116       var origHandler;
    117       var state;
    118       var parameter = "eRrOr-handler";
    119       errorHandler = new DOMErrorHandlerN10049();
    120 	  
    121       domImpl = getImplementation();
    122 doc = domImpl.createDocument("http://www.w3.org/1999/xhtml","html",nullDocType);
    123       domConfig = doc.domConfig;
    124 
    125       origHandler = domConfig.getParameter(parameter);
    126       canSet = domConfig.canSetParameter(parameter,errorHandler);
    127       assertTrue("canSetNewHandler",canSet);
    128 canSet = domConfig.canSetParameter(parameter,origHandler);
    129       assertTrue("canSetOrigHandler",canSet);
    130 domConfig.setParameter(parameter, errorHandler.handleError);
    131 	 state = domConfig.getParameter(parameter);
    132       assertSame("setToNewHandlerEffective",errorHandler,state);
    133 domConfig.setParameter(parameter, origHandler.handleError);
    134 	 state = domConfig.getParameter(parameter);
    135       assertSame("setToOrigHandlerEffective",origHandler,state);
    136 canSet = domConfig.canSetParameter(parameter,true);
    137       
    138 	if(
    139 	canSet
    140 	) {
    141 	domConfig.setParameter(parameter, true);
    142 	 
    143 	}
    144 	
    145 }
    146 
    147 
    148 
    149 
    150 function runTest() {
    151    domconfigerrorhandler1();
    152 }
    153