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_documentcreateelementcasesensitive";
     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     The tagName parameter in the "createElement(tagName)"
     79    method is case-sensitive for XML documents.
     80    Retrieve the entire DOM document and invoke its 
     81    "createElement(tagName)" method twice.  Once for tagName
     82    equal to "acronym" and once for tagName equal to "ACRONYM"
     83    Each call should create a distinct Element node.  The
     84    newly created Elements are then assigned attributes 
     85    that are retrieved.
     86 
     87    Modified on 27 June 2003 to avoid setting an invalid style
     88    values and checked the node names to see if they matched expectations.
     89 
     90 * @author Curt Arnold
     91 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-2141741547
     92 * @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=243
     93 */
     94 function hc_documentcreateelementcasesensitive() {
     95    var success;
     96     if(checkInitialization(builder, "hc_documentcreateelementcasesensitive") != null) return;
     97     var doc;
     98       var newElement1;
     99       var newElement2;
    100       var attribute1;
    101       var attribute2;
    102       var nodeName1;
    103       var nodeName2;
    104       
    105       var docRef = null;
    106       if (typeof(this.doc) != 'undefined') {
    107         docRef = this.doc;
    108       }
    109       doc = load(docRef, "doc", "hc_staff");
    110       newElement1 = doc.createElement("ACRONYM");
    111       newElement2 = doc.createElement("acronym");
    112       newElement1.setAttribute("lang","EN");
    113       newElement2.setAttribute("title","Dallas");
    114       attribute1 = newElement1.getAttribute("lang");
    115       attribute2 = newElement2.getAttribute("title");
    116       assertEquals("attrib1","EN",attribute1);
    117        assertEquals("attrib2","Dallas",attribute2);
    118        nodeName1 = newElement1.nodeName;
    119 
    120       nodeName2 = newElement2.nodeName;
    121 
    122       assertEqualsAutoCase("element", "nodeName1","ACRONYM",nodeName1);
    123        assertEqualsAutoCase("element", "nodeName2","acronym",nodeName2);
    124        
    125 }
    126 
    127 
    128 
    129 
    130 function runTest() {
    131    hc_documentcreateelementcasesensitive();
    132 }
    133