//**************************************************************************
//
//
//                       National Institute Of Standards and Technology
//                                    DTS Version 1.0
//         
//                           HTMLTableSectionElement Interface
//**************************************************************************

function HTMLTableSectionElement()
{
   var tests = new Array (HTML0001HTSE(),HTML0002HTSE(),HTML0003HTSE(),HTML0004HTSE(),HTML0005HTSE(),HTML0006HTSE(),HTML0007HTSE(),HTML0008HTSE(),HTML0009HTSE(),HTML0010HTSE(),HTML0011HTSE(),HTML0012HTSE(),HTML0013HTSE(),HTML0014HTSE(),HTML0015HTSE(),HTML0016HTSE(),HTML0017HTSE(),HTML0018HTSE(),HTML0019HTSE(),HTML0020HTSE(),HTML0021HTSE(),HTML0022HTSE(),HTML0023HTSE(),HTML0024HTSE());
   return tests;
}

//------------------------ test case HTML-0001HTSE ------------------------
//
// Testing feature - The "align" attribute of the HTMLTableSectionElement 
//                   interface (THEAD element).
//
// Testing approach - Retrieve the "align" attribute from the THEAD element 
//                    of the first TABLE element of the testing document 
//                    and examine its value.
//
// Semantic Requirements: 1
//
// Last modification date - November 2, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0001HTSE()
 {
   var computedValue = "";
   var expectedValue = "CENTER";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0001HTSE");
    results.description = "The \"align\" attribute of the "+
                          "HTMLTableSection interface (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// Access its "align" attribute.
//
      computedValue = testNode.node.align;
      computedValue = computedValue.toUpperCase();
//
// Write out results 
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0001HTSE -------------------------
//
//-------------------------  test case HTML-0002HTSE ---------------------------
//
// Testing feature - The "align" attribute of the HTMLTableSectionElement
//                   interface (TFOOT element).
//
// Testing approach - Retrieve the "align" attribute from the TFOOT element
//                    of the first TABLE element of the testing document
//                    and examine its value.
//
// Semantic Requirements: 1
//
// Last modification date - November 2, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0002HTSE()
 {
   var computedValue = "";
   var expectedValue = "CENTER";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0002HTSE");
    results.description = "The \"align\" attribute of the "+
                          "HTMLTableSection interface (TFOOT element)";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// and access its "align" attribute.
//
      computedValue = testNode.node.align;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0002HTSE -------------------------
//
//------------------------ test case HTML-0003HTSE ------------------------
//
// Testing feature - The "align" attribute of the HTMLTableSectionElement
//                   interface (TBODY element).
//
// Testing approach - Retrieve the "align" attribute from the TBODY element
//                    of the first TABLE element of the testing document
//                    and examine its value.
//
// Semantic Requirements: 1
//
// Last modification date - November 2, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------
function HTML0003HTSE()
 {
   var computedValue = "";
   var expectedValue = "CENTER";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0003HTSE");
    results.description = "The \"align\" attribute of the "+
                          "HTMLTableSection interface (TBODY element)";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// and access its "align" attribute.
//
      computedValue = testNode.node.align;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0003HTSE -------------------------

//-------------------------- test case HTML-0004HTSE ---------------------------
//
// Testing feature - The "ch" attribute of an HTMLTableSectionElement 
//                   interface (THEAD element).
//
// Testing approach - Retrieve the THEAD element of the first TABLE element 
//                    of the testing document, then set its "ch" attribute to
//                    ".".  Retrieve the attribute back and examine its
//                    value. 
//
// Semantic Requirements: 2 
//
// Last modification date - November 2, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0004HTSE()
 {
   var computedValue = "";
   var expectedValue = ".";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0004HTSE");
    results.description = "The \"ch\" attribute of the "+
                          "HTMLTableSectionElement interface (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// set/retrieve its "ch" attribute. 
//
      testNode.node.ch = ".";
      computedValue = testNode.node.ch;
//
// Write out results
//
      results.expected = expectedValue; 
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0004HTSE -------------------------
//
//-------------------------- test case HTML-0005HTSE ---------------------------
//
// Testing feature - The "ch" attribute of an HTMLTableSectionElement
//                   interface (TFOOT element).
//
// Testing approach - Retrieve the TFOOT element of the first TABLE element of 
//                    the testing document, then set its ch attribute to ".".
//                    Retrieve the attribute back and examine its value.
//
// Semantic Requirements: 2
//
// Last modification date - November 2, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0005HTSE()
 {
   var computedValue = "";
   var expectedValue = ".";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0005HTSE");
    results.description = "The \"ch\" attribute of the "+
                          "HTMLTableSectionElement interface (TFOOT element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// set/retrieve its "ch" attribute.
//
      testNode.node.ch = ".";
      computedValue = testNode.node.ch;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0005HTSE -------------------------
//
//-------------------------- test case HTML-0006HTSE ---------------------------
//
// Testing feature - The "ch" attribute of an HTMLTableSectionElement
//                   interface (TBODY element).
//
// Testing approach - Retrieve the TBODY element of the first TABLE element 
//                    of the testing document, then set its "ch" attribute
//                    to ".".  Retrieve the attribute back and examine its
//                    value.
//
// Semantic Requirements: 2
//
// Last modification date - November 2, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------

function HTML0006HTSE()
{
   var computedValue = "";
   var expectedValue = ".";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0006HTSE");
    results.description = "The \"ch\" attribute of the "+
                          "HTMLTableSectionElement interface (TBODY element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// set/retrieve its "ch" attribute.
//
      testNode.node.ch = ".";
      computedValue = testNode.node.ch;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0006HTSE -------------------------
//
//-------------------------- test case HTML-0007HTSE ---------------------------
//
// Testing feature - The "chOff" attribute of the HTMLTableSectionElement
//                   interface (THEAD element).
//
// Testing approach - Retrieve the THEAD element of the first TABLE element 
//                    of the testing document, then set its "chOff" attribute
//                    to "0".  Retrieve the attribute back and examine
//                    its value.
//
// Semantic Requirements: 3 
//
// Last modification date - November 2, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0007HTSE()
 {
   var computedValue = "";
   var expectedValue = "0";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0007HTSE");
    results.description = "The \"chOff\" attribute of the "+
                          "HTMLTableSectionElement interface (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// set/retrieve its "chOff" attribute
//
      testNode.node.chOff = "0";
      computedValue = testNode.node.chOff;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0007HTSE -------------------------
//
//-------------------------- test case HTML-0008HTSE ---------------------------
//
// Testing feature - The "chOff" attribute of an HTMLTableSectionElement
//                   interface (TFOOT element).
//
// Testing approach - Retrieve the TFOOT element of the first TABLE element of 
//                    the testing document, then set its "chOff" attribute to
//                    "0".  Retrieve the element back and examine its value.
//
// Semantic Requirements: 3
//
// Last modification date - November 2, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0008HTSE()
 {
   var computedValue = "";
   var expectedValue = "0";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0008HTSE");
    results.description = "The \"chOff\" attribute of the "+
                          "HTMLTableSectionElement interface (TFOOT element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// set/retrieve its "chOff" attribute.
//
      testNode.node.chOff = "0";
      computedValue = testNode.node.chOff;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0008HTSE ------------------------
//
//-------------------------- test case HTML-0009HTSE ---------------------------
//
// Testing feature - The "chOff" attribute of an HTMLTableSectionElement
//                   interface (TBODY element).
//
// Testing approach - Retrieve the TBODY element of the first TABLE element of 
//                    the testing document, then set its "chOff" attribute to
//                    "0".  Retrieve the attribute back and check its value.
//
// Semantic Requirements: 3
//
// Last modification date - November 3, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------
function HTML0009HTSE()
 {
   var computedValue = "";
   var expectedValue = "0";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0009HTSE");
    results.description = "The \"chOff\" attribute of the "+
                          "HTMLTableSectionElement interface (TBODY element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// set/retrieve its "chOff" attribute.
//
      testNode.node.chOff = "0";
      computedValue = testNode.node.chOff;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//-------------------------- test case HTML-0010HTSE ---------------------------
//
// Testing feature - The "vAlign" attribute of the HTMLTableSectionElement
//                   interface (THEAD element).
//
// Testing approach - Retrieve the THEAD element of the first TABLE element of 
//                    the testing document and check its "vAlign" attribute.  It
//                    should be equal to "MIDDLE".
//
// Semantic Requirements: 4 
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0010HTSE()
 {
   var computedValue = "";
   var expectedValue = "MIDDLE";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0010HTSE");
    results.description = "The \"vAlign\" attribute of the "+
                          "HTMLTableSectionElement interface (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// and retrieve its "vAlign" attribute.
//
      computedValue = testNode.node.vAlign;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0010HTSE -------------------------
//
//-------------------------- test case HTML-0011HTSE ---------------------------
//
// Testing feature - The "vAlign" attribute of the HTMLTableSectionElement
//                   interface (TFOOT element).
//
// Testing approach - Retrieve the "vAlign" attribute from the TFOOT
//                    element of the first TABLE element of the testing
//                    document and examine its value.
//
// Semantic Requirements: 4
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0011HTSE()
 {
   var computedValue = "";
   var expectedValue = "MIDDLE";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0011HTSE");
    results.description = "The \"vAlign\" attribute of the "+
                          "HTMLTableSectionElement interface (TFOOT element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// and retrieve its "vAlign" attribute.
//
      computedValue = testNode.node.vAlign;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0011HTSE -------------------------
//
//-------------------------- test case HTML-0012HTSE ---------------------------
//
// Testing feature - The "vAlign" attribute of the HTMLTableSectionElement
//                   interface (TBODY element).
//
// Testing approach - Retrieve the "vAlign" attribute from the TBODY
//                    element of the first TABLE element of the testing
//                    document and examine its value.
//
// Semantic Requirements: 4
//
// Last modification date - November 3, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------

 function HTML0012HTSE()
 {
   var computedValue = "";
   var expectedValue = "MIDDLE";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0012HTSE");
    results.description = "The \"vAlign\" attribute of the "+
                          "HTMLTableSectionElement interface (TBODY element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// and retrieve its "vAlign" attribute.
//
      computedValue = testNode.node.vAlign;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//
//-------------------------- test case HTML-0013HTSE ---------------------------
//
// Testing feature - The "rows" attribute of an HTMLTableSectionElement 
//                   interface (THEAD element).
//
// Testing approach - Retrieve the "rows" attribute from the THEAD 
//                    element of the first TABLE element of the testing 
//                    document and examine the length of its returned
//                    value.
//
// Semantic Requirements: 5 
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0013HTSE()
 {
   var computedValue = "";
   var expectedValue = 1;
   var results = "";
   var testNode = "";
   var tableHeadRows = 0;

    results = new testResults("HTML0013HTSE");
    results.description = "The \"rows\" attribute of the "+
                          "HTMLTableSectionElement interface (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// and examine the length of its "rows" attribute.
//
      tableHeadRows = testNode.node.rows;
      computedValue = tableHeadRows.length;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0013HTSE -------------------------
//
//-------------------------- test case HTML-0014HTSE ---------------------------
//
// Testing feature - The "rows" attribute of an HTMLTableSectionElement
//                   interface (TFOOT element).
//
// Testing approach - Retrieve the "rows" attribute from the TFOOT
//                    element of the first TABLE element of the testing
//                    document and examine the length of its returned
//                    value.
//
// Semantic Requirements: 5
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0014HTSE()
 {
   var computedValue = "";
   var expectedValue = 1;
   var results = "";
   var testNode = "";
   var tableFootRows = 0;

    results = new testResults("HTML0014HTSE");
    results.description = "The \"rows\" attribute of the "+
                          "HTMLTableSectionElement interface (TFOOT element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// and examine the length of its "rows" attribute.
//
      tableFootRows = testNode.node.rows;
      computedValue = tableFootRows.length;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0014HTSE -------------------------
//
//-------------------------- test case HTML-0015HTSE ---------------------------
//
// Testing feature - The "rows" attribute of an HTMLTableSectionElement
//                   interface (TBODY element).
//
// Testing approach - Retrieve the "rows" attribute from the TBODY
//                    element of the first TABLE element of the testing
//                    document and examine the length of its returned
//                    value.
//
// Semantic Requirements: 5
//
// Last modification date - November 3, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------
 function HTML0015HTSE()
 {
   var computedValue = "";
   var expectedValue = 5;
   var results = "";
   var testNode = "";
   var bodyRows = "";

    results = new testResults("HTML0015HTSE");
    results.description = "The \"rows\" attribute of the "+
                          "HTMLTableSectionElement interface (TBODY element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// and examine the length of its "rows" attribute.
//
      bodyRows = testNode.node.rows;
      computedValue = bodyRows.length;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}

//--------------------------- test case HTML-0016HTSE --------------------------
//
// Testing feature - The "insertRow(index)" method of the 
//                   HTMLTableSectionElement interface inserts a 
//                   row into this section (THEAD element).
//
// Testing approach - Retrieve the THEAD element of the first TABLE element 
//                    of the testing document and insert a new row to it,
//                    then examine the length of its "rows" attribute.  It
//                    should be set to 2.
//
// Semantic Requirements: 6 
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0016HTSE()
 {
   var computedValue = "";
   var expectedValue = 2;
   var results = "";
   var testNode = "";
   var rowsList = "";

    results = new testResults("HTML0016HTSE");
    results.description = "The \"insertRow(index)\" method of the "+
                          "HTMLTableSectionElement interface (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// and invoke its "insertRow" method.  
//
      testNode.node.insertRow(FIRST);
      rowsList = testNode.node.rows;
      computedValue = rowsList.length;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0016HTSE ------------------------
//
//-------------------------- test case HTML-0017HTSE --------------------------
//
// Testing feature - The "insertRow(index)" method of the
//                   HTMLTableSectionElement interface inserts a
//                   row into this section (TFOOT element).
//
// Testing approach - Retrieve the TFOOT element of the first TABLE element
//                    of the testing document and insert a new row to it,
//                    then examine the length of its "rows" attribute.  It
//                    should be set to 2.
//
// Semantic Requirements: 6
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0017HTSE()
 {
   var computedValue = "";
   var expectedValue = 2;
   var results = "";
   var testNode = "";
   var rowsList = "";

    results = new testResults("HTML0017HTSE");
    results.description = "The \"insertRow(index)\" method of the "+
                          "HTMLTableSectionElement interface (TFOOT element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// and invoke its "insertRow" method.
//
      testNode.node.insertRow(FIRST);
      rowsList = testNode.node.rows;
      computedValue = rowsList.length;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0017HTSE ------------------------
//
//-------------------------- test case HTML-0018HTSE --------------------------
//
// Testing feature - The "insertRow(index)" method of the
//                   HTMLTableSectionElement interface inserts a
//                   row into this section (TBODY element).
//
// Testing approach - Retrieve the TBODY element of the first TABLE element
//                    of the testing document and insert a new row to it,
//                    then examine the length of its "rows" attribute.  It
//                    should be set to 2.
//
// Semantic Requirements: 6
//
// Last modification date - September 30, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------
function HTML0018HTSE()
 {
   var computedValue = "";
   var expectedValue = 6;
   var results = "";
   var testNode = "";
   var rowsList = "";

    results = new testResults("HTML0018HTSE");
    results.description = "The \"insertRow(index)\" method of the "+
                          "HTMLTableSectionElement interface (TBODY element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// and invoke its "insertRow" method.
//
      testNode.node.insertRow(FIRST);
      rowsList = testNode.node.rows;
      computedValue = rowsList.length;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}

//--------------------------- test case HTML-0019HTSE -------------------------
//
// Testing feature - The "insertRow(index)" method of the
//                   HTMLTableSectionElement interface returns the
//                   row being inserted (THEAD element).
//
// Testing approach - Retrieve the THEAD element of the first TABLE element
//                    of the testing document and insert a new row to it,
//                    then examine the value of its returned object.  It
//                    should be set to an HTMLElement with all default
//                    values.
//
// Semantic Requirements: 7
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0019HTSE()
 {
   var computedValue = "";
   var expectedValue = "";
   var results = "";
   var testNode = "";
   var returnedValue = "";

    results = new testResults("HTML0019HTSE");
    results.description = "The \"insertRow(index)\" method of the "+
                          "HTMLTableSectionElement interface returns "+
                          "the row being inserted (THEAD element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// and invoke its "insertRow" method.
//
      returnedValue = testNode.node.insertRow(FIRST);
      computedValue = returnedValue.id;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0019HTSE ------------------------
//
//--------------------------- test case HTML-0020HTSE -------------------------
//
// Testing feature - The "insertRow(index)" method of the
//                   HTMLTableSectionElement interface returns the
//                   row being inserted (TFOOT element).
//
// Testing approach - Retrieve the TFOOT element of the first TABLE element
//                    of the testing document and insert a new row to it,
//                    then examine the value of its returned object.  It
//                    should be set to an HTMLElement with all default
//                    values.
//
// Semantic Requirements: 7
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0020HTSE()
 {
   var computedValue = "";
   var expectedValue = "";
   var results = "";
   var testNode = "";
   var returnedValue = "";

    results = new testResults("HTML0020HTSE");
    results.description = "The \"insertRow(index)\" method of the "+
                          "HTMLTableSectionElement interface returns "+
                          "the row being inserted (TFOOT element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// and invoke its "insertRow" method.
//
      returnedValue = testNode.node.insertRow(FIRST);
      computedValue = returnedValue.id;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0020HTSE ------------------------
//
//--------------------------- test case HTML-0021HTSE -------------------------
//
// Testing feature - The "insertRow(index)" method of the
//                   HTMLTableSectionElement interface returns the
//                   row being inserted (TBODY element).
//
// Testing approach - Retrieve the TBODY element of the first TABLE element
//                    of the testing document and insert a new row to it,
//                    then examine the value of its returned object.  It
//                    should be set to an HTMLElement with all default
//                    values.
//
// Semantic Requirements: 7
//
// Last modification date - November 3, 1999
//
// Written by:  Mark LaRoy Zimmerman
//----------------------------------------------------------------------------
function HTML0021HTSE()
 {
   var computedValue = "";
   var expectedValue = "";
   var results = "";
   var testNode = "";
   var returnedValue = "";

    results = new testResults("HTML0021HTSE");
    results.description = "The \"insertRow(index)\" method of the "+
                          "HTMLTableSectionElement interface returns "+
                          "the row being inserted (TBODY element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// and invoke its "insertRow" method.
//
      returnedValue = testNode.node.insertRow(FIRST);
      computedValue = returnedValue.id;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//--------------------------- test case HTML-0022HTSE -------------------------
//
// Testing feature - The "deleteRow(index)" method of the
//                   HTMLTableSectionElement interface deletes 
//                   the row indicated by "index" (THEAD element).
//
// Testing approach - Retrieve the THEAD element of the first TABLE element
//                    of the testing document and delete its only row,
//                    then examine the value of its "rows" attribute.  It
//                    should be set to 0.
//
// Semantic Requirements: 8  
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0022HTSE()
 {
   var computedValue = "";
   var expectedValue = 0;
   var results = "";
   var testNode = "";

    results = new testResults("HTML0022HTSE");
    results.description = "The \"deleteRow(index)\" method of the "+
                          "HTMLTableSectionElement interface deletes "+
                          "the indicated row (THEAD Element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(THEAD,FIRST);
//
// and invoke its "deleteRow" method.
//
      testNode.node.deleteRow(FIRST);
      computedValue = testNode.node.rows.length;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0022HTSE ------------------------
//
//--------------------------- test case HTML-0023HTSE -------------------------
//
// Testing feature - The "deleteRow(index)" method of the
//                   HTMLTableSectionElement interface deletes
//                   the row indicated by "index" (TFOOT element).
//
// Testing approach - Retrieve the TFOOT element of the first TABLE element
//                    of the testing document and delete its only row,
//                    then examine the value of its "rows" attribute.  It
//                    should be set to 0.
//
// Semantic Requirements: 8
//
// Last modification date - November 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0023HTSE()
 {
   var computedValue = "";
   var expectedValue = 0;
   var results = "";
   var testNode = "";

    results = new testResults("HTML0023HTSE");
    results.description = "The \"deleteRow(index)\" method of the "+
                          "HTMLTableSectionElement interface deletes "+
                          "the indicated row (TFOOT Element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TFOOT,FIRST);
//
// and invoke its "deleteRow" method.
//
      testNode.node.deleteRow(FIRST);
      computedValue = testNode.node.rows.length;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0023HTSE ------------------------
//
//--------------------------- test case HTML-0024HTSE -------------------------
//
// Testing feature - The "deleteRow(index)" method of the
//                   HTMLTableSectionElement interface deletes
//                   the row indicated by "index" (TBODY element).
//
// Testing approach - Retrieve the TBODY element of the first TABLE element
//                    of the testing document and delete its first row,
//                    then examine the value of its "rows" attribute.  It
//                    should be set to 4.
//
// Semantic Requirements: 8
//
// Last modification date - November 3, 1999
//
// Written by: Mark LaRoy Zimmerman
//----------------------------------------------------------------------------
 function HTML0024HTSE()
 {
   var computedValue = "";
   var expectedValue = 4;
   var results = "";
   var testNode = "";

    results = new testResults("HTML0024HTSE");
    results.description = "The \"deleteRow(index)\" method of the "+
                          "HTMLTableSectionElement interface deletes "+
                          "the indicated row (TBODY Element).";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(TBODY,FIRST);
//
// and invoke its "deleteRow" method.
//
      testNode.node.deleteRow(FIRST);
      computedValue = testNode.node.rows.length;
//
// Write out results
//
      resetHTMLData();
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0024HTSE ------------------------