dom/tests/mochitest/dom-level2-html/test_HTMLTableRowElement21.html

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     2 <html>
     3 <head>
     4 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
     5 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
     6 <title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement21</title>
     7 <link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
     8 <script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script>
     9 <script src="DOMTestCase.js" type="text/javascript"></script>
    10 <script type="text/javascript">
    11 // expose test function names
    12 function exposeTestFunctionNames()
    13 {
    14 return ['HTMLTableRowElement21'];
    15 }
    17 var docsLoaded = -1000000;
    18 var builder = null;
    20 //
    21 //   This function is called by the testing framework before
    22 //      running the test suite.
    23 //
    24 //   If there are no configuration exceptions, asynchronous
    25 //        document loading is started.  Otherwise, the status
    26 //        is set to complete and the exception is immediately
    27 //        raised when entering the body of the test.
    28 //
    29 function setUpPage() {
    30    setUpPageStatus = 'running';
    31    try {
    32      //
    33      //   creates test document builder, may throw exception
    34      //
    35      builder = createConfiguredBuilder();
    37       docsLoaded = 0;
    39       var docRef = null;
    40       if (typeof(this.doc) != 'undefined') {
    41         docRef = this.doc;
    42       }
    43       docsLoaded += preload(docRef, "doc", "tablerow");
    45        if (docsLoaded == 1) {
    46           setUpPage = 'complete';
    47        }
    48     } catch(ex) {
    49     	catchInitializationError(builder, ex);
    50         setUpPage = 'complete';
    51     }
    52 }
    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 == 1) {
    65         setUpPageStatus = 'complete';
    66         runJSUnitTests();
    67         SimpleTest.finish();
    68     }
    69 }
    72 /**
    73 * 
    74     The deleteCell() method deletes a cell from the currtent row.  If
    75     the index is -1 the last cell in the row is deleted.
    78     Retrieve the fourth TR element and examine the value of
    79     the cells length attribute which should be set to six.  
    80     Check the value of the last TD element.  Invoke the
    81     deleteCell() with an index of negative one
    82     which will delete the last cell in the row. 
    83     Check the value of the of the last cell 
    84     and also the numbers of cells should now be five.
    86 * @author NIST
    87 * @author Rick Rivello
    88 * @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598
    89 */
    90 function HTMLTableRowElement21() {
    91    var success;
    92     if(checkInitialization(builder, "HTMLTableRowElement21") != null) return;
    93     var nodeList;
    94       var cellsnodeList;
    95       var testNode;
    96       var trNode;
    97       var cellNode;
    98       var value;
    99       var vcells;
   100       var doc;
   102       var docRef = null;
   103       if (typeof(this.doc) != 'undefined') {
   104         docRef = this.doc;
   105       }
   106       doc = load(docRef, "doc", "tablerow");
   107       nodeList = doc.getElementsByTagName("tr");
   108       assertSize("Asize",5,nodeList);
   109 testNode = nodeList.item(3);
   110       cellsnodeList = testNode.cells;
   112       vcells = cellsnodeList.length;
   114       assertEquals("cellsLink1",6,vcells);
   115        trNode = cellsnodeList.item(5);
   116       cellNode = trNode.firstChild;
   118       value = cellNode.nodeValue;
   120       assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value);
   121        testNode.deleteCell(-1);
   122       testNode = nodeList.item(3);
   123       cellsnodeList = testNode.cells;
   125       vcells = cellsnodeList.length;
   127       assertEquals("cellsLink2",5,vcells);
   128        trNode = cellsnodeList.item(4);
   129       cellNode = trNode.firstChild;
   131       value = cellNode.nodeValue;
   133       assertEquals("value2Link","Female",value);
   135 }
   137 </script>
   138 </head>
   139 <body>
   140 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement21</h2>
   141 <p>&lt;test name='HTMLTableRowElement21' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-2 dom2.xsd'&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;HTMLTableRowElement21&lt;/title&gt;
   142 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;creator&gt;NIST&lt;/creator&gt;
   143 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;
   144     The deleteCell() method deletes a cell from the currtent row.  If
   145     the index is -1 the last cell in the row is deleted.
   148     Retrieve the fourth TR element and examine the value of
   149     the cells length attribute which should be set to six.  
   150     Check the value of the last TD element.  Invoke the
   151     deleteCell() with an index of negative one
   152     which will delete the last cell in the row. 
   153     Check the value of the of the last cell 
   154     and also the numbers of cells should now be five.
   155 &lt;/description&gt;
   156 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;contributor&gt;Rick Rivello&lt;/contributor&gt;
   157 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;date qualifier='created'&gt;2002-11-07&lt;/date&gt;
   158 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;subject resource='<a href="http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598">http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598</a>'/&gt;
   159 <br>&lt;/metadata&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='nodeList' type='NodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='cellsnodeList' type='HTMLCollection'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='testNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='trNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='cellNode' type='Node'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='value' type='DOMString'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='vcells' type='int'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;var name='doc' type='Document'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;load var='doc' href='tablerow' willBeModified='true'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"tr"'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertSize collection='nodeList' size='5' <a id="Asize">id='Asize'</a>/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='3'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;cells interface='HTMLTableRowElement' obj='testNode' var='cellsnodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;length interface='HTMLCollection' obj='cellsnodeList' var='vcells'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='vcells' expected='6' <a id="cellsLink1">id='cellsLink1'</a> ignoreCase='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='HTMLCollection' obj='cellsnodeList' var='trNode' index='5'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;firstChild interface='Node' obj='trNode' var='cellNode'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;nodeValue obj='cellNode' var='value'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='value' expected='"1230 North Ave. Dallas, Texas 98551"' <a id="value1Link">id='value1Link'</a> ignoreCase='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;deleteCell interface='HTMLTableRowElement' obj='testNode' index='-1'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='NodeList' obj='nodeList' var='testNode' index='3'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;cells interface='HTMLTableRowElement' obj='testNode' var='cellsnodeList'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;length interface='HTMLCollection' obj='cellsnodeList' var='vcells'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='vcells' expected='5' <a id="cellsLink2">id='cellsLink2'</a> ignoreCase='false'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;item interface='HTMLCollection' obj='cellsnodeList' var='trNode' index='4'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;firstChild interface='Node' obj='trNode' var='cellNode'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;nodeValue obj='cellNode' var='value'/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;assertEquals actual='value' expected='"Female"' <a id="value2Link">id='value2Link'</a> ignoreCase='false'/&gt;<br>&lt;/test&gt;<br>
   160 </p>
   161 <p>
   162 			Copyright (c) 2001-2004 World Wide Web Consortium,
   163 			(Massachusetts Institute of Technology, Institut National de
   164 			Recherche en Informatique et en Automatique, Keio University). All
   165 			Rights Reserved. This program is distributed under the W3C's Software
   166 			Intellectual Property License. This program is distributed in the
   167 			hope that it will be useful, but WITHOUT ANY WARRANTY; without even
   168 			the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
   169 			PURPOSE.
   170 			</p>
   171 <p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a> 
   172  for more details.</p>
   173 <iframe name="doc" src="files/tablerow.html"></iframe>
   174 <br>
   175 </body>
   176 </html>

mercurial