//**************************************************************************
//
//
// National Institute Of Standards and Technology
// DTS Version 1.0
//
// DocumentType Interface
//**************************************************************************
function DocumentType()
{
var tests = new Array (core0001DT(), core0002DT(), core0003DT(),
core0004DT(), core0005DT(), core0006DT());
return tests;
}
//------------------------ test case core-0001DT ------------------------
//
// Testing feature - The "name" attribute contains the name of the DTD.
//
// Testing approach - Retrieve the Document Type for this document and examine
// its "name" attribute. It should be set to "staff".
//
// Semantic Requirements: 1
//
// Last modification date - May 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------
function core0001DT()
{
var computedValue = "";
var expectedValue = "staff"
var testNode = "";
results = new testResults("Core0001DT");
results.description = "The \"name\" attribute contains the name of the "+
"DTD.";
//
// Retrieve the targeted data.
//
testNode = getDocType();
computedValue = testNode.name;
//
// Write out results
//
results.expected = expectedValue;
results.actual = computedValue;
return results;
}
//------------------------ End test case core-0001DT --------------------------
//
//--------------------------- test case core-0002DT ---------------------------
//
// Testing feature - The "entities" attribute is a NamedNodeMap that contains
// the general entities for this document.
//
// Testing approach - Retrieve the DocumentType node for this document and
// create a NamedNodeMap of all its entities. The entire
// map is then traversed and the names of the entities
// retrieved. There should be five entities total.
// duplicates should be ignored.
//
// Semantic Requirements: 2
//
// Last modification date - May 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------
function core0002DT()
{
var computedValue = "";
var expectedValue = "ent1 ent2 ent3 ent4 ent5 ";
var testNode = "";
var entityList = "";
results = new testResults("Core000DT");
results.description = "The \"entities\" attribute contains a NamedNodeMap "+
"of all the entities for this document.";
//
// Retrieve the targeted data and access its "entities" attribute.
//
testNode = getDocType();
entityList = testNode.entities;
//
// Retrieve each of the entities in the list.
//
for (var index = 0;index < entityList.length; index++)
computedValue += entityList.item(index).nodeName+" ";
//
// Write out results
//
results.expected = expectedValue;
results.actual = computedValue;
return results;
}
//------------------------ End test case core-0002DT --------------------------
//
//--------------------------- test case core-0003DT ---------------------------
//
// Testing feature - Duplicate entities are ignored.
//
// Testing approach - Retrieve the DocumentType node for this document
// and create a NamedNodeMap of all its entities.
// The entity named "ent1" is defined twice and therefore
// the last one should be ignored.
//
// Semantic Requirements: 3
//
// Last modification date - May 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------
function core0003DT()
{
var computedValue = "";
var expectedValue = 5;
var testNode = "";
var entList = "";
results = new testResults("Core0003DT");
results.description = "Duplicate entities are discarded.";
//
// Retrieve the targeted data.
//
testNode = getDocType();
entList = testNode.entities;
//
// All duplicates should be discared. List should have only 5 items.
//
computedValue = entList.length;
//
// Write out results
//
results.expected = expectedValue;
results.actual = computedValue;
return results;
}
//------------------------ End test case core-0003DT --------------------------
//
//--------------------------- test case core-0004DT ---------------------------
//
// Testing feature - Every node in the map returned by the "entities"
// attribute implements the Entity interface.
//
// Testing approach - Retrieve the DocumentType node for this document and
// create a NamedNodeMap object of all the entities
// defined in it. Traverse the entire list and examine
// the nodeType of each node in the list.
//
// Semantic Requirements: 4
//
// Last modification date - May 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------
function core0004DT()
{
var testName = "core-0004DT";
var computedValue = "";
var expectedValue = "6 6 6 6 6 ";
var testNode = "";
var entList = "";
results = new testResults("Core0004DT");
results.description = "Each node in the NamedNodeMap object returned by "+
"\entities\" interface implements the Entity "+
"interface.";
//
// Retrieve the targeted data.
//
testNode = getDocType();
entList = testNode.entities;
//
// Access each element in the list and retrieve its type.
//
for (var index = 0; index < entList.length; index++)
computedValue += entList.item(index).nodeType+" ";
//
// Write out results
//
results.expected = expectedValue;
results.actual = computedValue;
return results;
}
//------------------------ End test case core-0004DT --------------------------
//
//--------------------------- test case core-0005NT ---------------------------
//
// Testing feature - The "notations" attribute is a NamedNodeMap that contains
// all the notations declared in the DTD.
//
// Testing approach - Retrieve the DocumentType node for this document and
// create a NamedNodeMap object of all the notations.
// There should be two items in the list (notation1 and
// notation2)
//
// Semantic Requirements: 5
//
// Last modification date - May 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------
function core0005DT()
{
var computedValue = "";
var expectedValue = "notation1 notation2 ";
var testNode = "";
var notationList = "";
results = new testResults("Core0005DT");
results.description = "The \"notations\" attribute is NamedNodeMap that "+
"contains all the notations for this document.";
//
// Retrieve the targeted data and access its "notations" attribute.
//
testNode = getDocType();
notationList = testNode.notations;
//
// Retrieve each item in the list.
//
for (var index = 0;index < notationList.length;index++)
computedValue += notationList.item(index).nodeName+" ";
//
// Write out results
//
results.expected = expectedValue;
results.actual = computedValue;
return results;
}
//------------------------ End test case core-0005DT --------------------------
//
//--------------------------- test case core-0006DT ---------------------------
//
// Testing feature - Every node in the map returned by the "notations"
// attribute implements the Notation interface.
//
// Testing approach - Retrieve the DocumentType node for this document and
// create a NamedNodeMap object of all the notations
// defined in it. Traverse the entire list and examine the
// nodeType of each node in the list.
//
// Semantic Requirements: 6
//
// Last modification date - May 3, 1999
//
// Written by: Carmelo Montanez
//----------------------------------------------------------------------------
function core0006DT()
{
var computedValue = "";
var expectedValue = "12 12 ";
var testNode = "";
var NotationList = "";
results = new testResults("Core0006DT");
results.description = "Each node in the NamedNodeMap object returned by ";
"the \"notations\" attribute implements the ";
"Notation interface.";
//
// Retrieve the targeted data.
//
testNode = getDocType();
entList = testNode.notations;
//
// Access each element in the list and retrieve its type.
//
for (var index = 0; index < entList.length; index++)
computedValue += entList.item(index).nodeType+" ";
//
// Write out results
//
results.expected = expectedValue;
results.actual = computedValue;
return results;
}
//------------------------ End test case core-0006DT --------------------------