//**************************************************************************
//
//
//                       National Institute Of Standards and Technology
//                                    DTS Version 1.1
//         
//                              HTMLObjectElement Interface
//**************************************************************************

function HTMLObjectElement()
{
   var tests = new Array (HTML0001HOBE(),HTML0002HOBE(),HTML0003HOBE(),HTML0004HOBE(),HTML0005HOBE(),HTML0006HOBE(),HTML0007HOBE(),HTML0008HOBE(),HTML0009HOBE(),HTML0010HOBE(),HTML0011HOBE(),HTML0012HOBE(),HTML0013HOBE(),HTML0014HOBE(),HTML0015HOBE(),HTML0016HOBE(),HTML0017HOBE());
   return tests;
}

//------------------------ test case HTML-0001HOBE -------------------------
//
// Testing feature - The "form" attribute specifies the FORM element 
//                   containing this control. 
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "form" attribute.  It should
//                    return null as this control is not within the
//                    context of a form.
//
// Semantic Requirements: 1
//
// Last modification date - August 13, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0001HOBE()
 {
   var computedValue = "";
   var expectedValue = null;
   var results = "";
   var testNode = "";

    results = new testResults("HTML0001HOBE");
    results.description = "The \"form\" attribute contains the "+
                          "FORM element containing this control.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "form" attribute.
//
      computedValue = testNode.node.form;
//
// Write out results 
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0001HOBE --------------------------
//
//------------------------   test case HTML-0002HOBE ----------------------------
//
// Testing feature - The "code" attribute specifies an Applet class file. 
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "code" attribute.  It should
//                    return an empty string. 
//
// Semantic Requirements: 2 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0002HOBE");
    results.description = "The \"code\" attribute specifies an "+
                          "Applet class file.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "code" attribute.
//
      computedValue = testNode.node.code;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0002HOBE --------------------------
//
//------------------------   test case HTML-0003HOBE ----------------------------
//
// Testing feature - The "align" attribute specifies the alignment of this 
//                   object with respect to its sorrounding text.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "align" attribute.  It should
//                    return the string "MIDDLE".
//
// Semantic Requirements: 3 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0003HOBE");
    results.description = "The \"align\" attribute specifies the "+
                          "alignment of this object with respect "+
                          "to its sorrounding text.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,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-0003HOBE --------------------------
//
//------------------------   test case HTML-0004HOBE ----------------------------
//
// Testing feature - The "archive" attribute specifies a space-separated
//                   list of archives.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "archive" attribute.  It should
//                    return an empty string. 
//
// Semantic Requirements: 4 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0004HOBE");
    results.description = "The \"archive\" attribute specifies a "+
                          "space-separated list of archives.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "archive" attribute.
//
      computedValue = testNode.node.archive;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0004HOBE --------------------------
//
//------------------------   test case HTML-0005HOBE ----------------------------
//
// Testing feature - The "border" attribute specifies the width of the 
//                   border around the object.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "border" attribute.  It 
//                    should return the string "0".
//
// Semantic Requirements: 5 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0005HOBE");
    results.description = "The \"border\" attribute specifies the "+
                          "width of the border around this object.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "border" attribute.
//
      computedValue = testNode.node.border;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0005HOBE --------------------------
//
//------------------------   test case HTML-0006HOBE ----------------------------
//
// Testing feature - The "codeBase" attribute specifies the base URI for the 
//                   classid, data and archive attributes.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "codeBase" attribute.  It
//                    should return the string stored in the variable
//                    "BASE5".
//
// Semantic Requirements: 6 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0006HOBE()
 {
   var computedValue = "";
   var expectedValue = BASE5; 
   var results = "";
   var testNode = "";

    results = new testResults("HTML0006HOBE");
    results.description = "The \"codeBase\" attribute specifies the "+
                          "base URI for the classid, data and archive "+
                          "attributes.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "codeBase" attribute.
//
      computedValue = testNode.node.codeBase;
      computedValue= computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0006HOBE --------------------------
//
//------------------------   test case HTML-0007HOBE ----------------------------
//
// Testing feature - The "codeType" attribute specifies the data
//                   downloaded via the classid attribute.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "codeType" attribute.  It
//                    should return the empty string
//
// Semantic Requirements: 7 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0007HOBE");
    results.description = "The \"codeType\" attribute specifies the "+
                          "data downloaded via the classid attribute.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "codeType" attribute.
//
      computedValue = testNode.node.codeType;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0007HOBE --------------------------
//
//------------------------   test case HTML-0008HOBE ----------------------------
//
// Testing feature - The "data" attribute specifies the URI of the 
//                   location of the object's data..
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "data" attribute.  It
//                    should return the string:
//                    "./pix/logo.gif". 
//
// Semantic Requirements: 8 
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0008HOBE()
 {
   var computedValue = "";
   var expectedValue = "./PIX/LOGO.GIF";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0008HOBE");
    results.description = "The \"data\" attribute contains the "+
                          "URI specifying the location of the "+
                          "object's data.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "data" attribute.
//
      computedValue = testNode.node.data;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0008HOBE --------------------------
//
//------------------------   test case HTML-0009HOBE ----------------------------
//
// Testing feature - The "declare" attribute specifies this object should
//                   be declared only and no instance of it should be 
//                   created.
//
// Testing approach - Retrieve the second OBJECT element from the testing
//                    document and examine its "declare" attribute.  It
//                    should return the boolean value true.
//
// Semantic Requirements: 9 
//
// Last modification date - August 19, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0009HOBE()
 {
   var computedValue = "";
   var expectedValue = true;
   var results = "";
   var testNode = "";

    results = new testResults("HTML0009HOBE");
    results.description = "The \"declare\" attribute indicates that "+
                          "that this object should be declared "+
                          "only.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,SECOND);
//
// and access its "declare" attribute.
//
      computedValue = testNode.node.declare;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0009HOBE --------------------------
//
//------------------------   test case HTML-0010HOBE ----------------------------
//
// Testing feature - The "height" attribute overrides the value of the
//                   actual height of the object.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "height" attribute.  It
//                    should return the value "60".
//
// Semantic Requirements: 10 
//
// Last modification date - August 20, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0010HOBE()
 {
   var computedValue = "";
   var expectedValue = "60";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0010HOBE");
    results.description = "The \"height\" attribute overrides the "+
                          "the actual height of the object.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "height" attribute.
//
      computedValue = testNode.node.height;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0010HOBE --------------------------
//
//------------------------   test case HTML-0011HOBE ----------------------------
//
// Testing feature - The "hspace" attribute specifies the horizontal space
//                   to the left and right of this image, applet or 
//                   object. 
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "hspace" attribute.  It
//                    should return the value "0".
//
// Semantic Requirements: 11 
//
// Last modification date - August 20, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0011HOBE");
    results.description = "The \"hspace\" attribute specifies "+
                          "the horizontal space to the left and "+
                          "right of this object.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "hspace" attribute.
//
      computedValue = testNode.node.hspace;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0011HOBE --------------------------
//
//------------------------   test case HTML-0012HOBE ----------------------------
//
// Testing feature - The "standby" attribute specifies a message to render
//                   while loading the object.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "standby" attribute.  It
//                    should return the string "LOADING IMAGE ...". 
//
// Semantic Requirements: 12
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0012HOBE()
 {
   var computedValue = "";
   var expectedValue = "LOADING IMAGE ...";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0012HOBE");
    results.description = "The \"standby\" attribute specifies "+
                          "a message to render while loading the "+
                          "object.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "standby" attribute.
//
      computedValue = testNode.node.standby;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0012HOBE --------------------------
//
//------------------------   test case HTML-0013HOBE ----------------------------
//
// Testing feature - The "tabIndex" attribute specifies the element's
//                   position in the tabbing order.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "tabIndex" attribute.  It
//                    should return the value 0. 
//
// Semantic Requirements: 13
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0013HOBE");
    results.description = "The \"tabIndex\" attribute specifies "+
                          "the element's position in the tabbing "+
                          "order.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "tabIndex" attribute.
//
      computedValue = testNode.node.tabIndex;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0013HOBE --------------------------
//
//------------------------   test case HTML-0014HOBE ----------------------------
//
// Testing feature - The "type" attribute specifies the content type
//                   for data downloaded via the "data" attribute..
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "type" attribute.  It
//                    should return the string "IMAGE/GIF".
//
// Semantic Requirements: 14
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0014HOBE()
 {
   var computedValue = "";
   var expectedValue = "IMAGE/GIF";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0014HOBE");
    results.description = "The \"type\" attribute specifies "+
                          "the content type for data downloaded "+
                          "via the \"data\" attribute.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "type" attribute.
//
      computedValue = testNode.node.type;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0014HOBE --------------------------
//
//------------------------   test case HTML-0015HOBE ----------------------------
//
// Testing feature - The "useMap" attribute specifies the used 
//                   client-side image map.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "useMap" attribute.  It
//                    should return the string "#DIVLOGO-MAP".
//
// Semantic Requirements: 15
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0015HOBE()
 {
   var computedValue = "";
   var expectedValue = "#DIVLOGO-MAP";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0015HOBE");
    results.description = "The \"useMap\" attribute specifies "+
                          "the used client-side image map.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "useMap" attribute.
//
      computedValue = testNode.node.useMap;
      computedValue = computedValue.toUpperCase();
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0015HOBE --------------------------
//
//------------------------   test case HTML-0016HOBE ----------------------------
//
// Testing feature - The "vspace" attribute specifies the vertical
//                   space above and below this image, applet or
//                   object.
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "vspace" attribute.  It
//                    should return the value "0".
//
// Semantic Requirements: 16
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

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

    results = new testResults("HTML0016HOBE");
    results.description = "The \"vspace\" attribute specifies "+
                          "the vertical space above and below "+
                          "this object.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "vspace" attribute.
//
      computedValue = testNode.node.vspace;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0016HOBE --------------------------
//
//------------------------   test case HTML-0017HOBE ----------------------------
//
// Testing feature - The "width" attribute overrides the original
//                   width value. 
//
// Testing approach - Retrieve the first OBJECT element from the testing
//                    document and examine its "width" attribute.  It
//                    should return the value "550".
//
// Semantic Requirements: 17
//
// Last modification date - September 29, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------

 function HTML0017HOBE()
 {
   var computedValue = "";
   var expectedValue = "550";
   var results = "";
   var testNode = "";

    results = new testResults("HTML0017HOBE");
    results.description = "The \"width\" attribute overrides "+
                          "the original width value.";
//
// Retrieve targeted data.
//
      testNode = new HTMLNodeObject(OBJECT,FIRST);
//
// and access its "width" attribute.
//
      computedValue = testNode.node.width;
//
// Write out results
//
      results.expected = expectedValue;
      results.actual = computedValue;

    return results;
}
//------------------------ End test case HTML-0017HOBE --------------------------