162 lines
6.6 KiB
JavaScript
162 lines
6.6 KiB
JavaScript
var dom = require("../../../../lib/jsdom/level2/core").dom.level2.core,
|
||
createWindow = require("../../../../lib/jsdom/browser/index").createWindow;
|
||
|
||
exports.hc_staff = function() {
|
||
|
||
var doc = new dom.Document("html");
|
||
var implementation = new dom.DOMImplementation(doc, {
|
||
"XML" : ["1.0", "2.0"],
|
||
"core": ["1.0", "2.0", "3.0"]
|
||
});
|
||
|
||
var notations = new dom.NotationNodeMap(
|
||
doc,
|
||
doc.createNotationNode("notation1","notation1File", null),
|
||
doc.createNotationNode("notation2",null, "notation2File")
|
||
);
|
||
|
||
// TODO: consider importing the master list of entities
|
||
// http://www.w3schools.com/tags/ref_symbols.asp
|
||
var entities = new dom.EntityNodeMap(
|
||
doc,
|
||
doc.createEntityNode("alpha", doc.createTextNode("α")),
|
||
doc.createEntityNode("beta", doc.createTextNode("β")),
|
||
doc.createEntityNode("gamma", doc.createTextNode("γ")),
|
||
doc.createEntityNode("delta", doc.createTextNode("δ")),
|
||
doc.createEntityNode("epsilon", doc.createTextNode("ε"))
|
||
);
|
||
|
||
// <!ATTLIST acronym dir CDATA "ltr">
|
||
|
||
var defaultAttributes = new dom.NamedNodeMap(doc);
|
||
var acronym = doc.createElementNS("http://www.w3.org/2000/xmlns/","acronym");
|
||
acronym.setAttribute("dir", "ltr");
|
||
defaultAttributes.setNamedItem(acronym);
|
||
|
||
|
||
|
||
var doctype = new dom.DocumentType(doc, "xml", entities, notations, defaultAttributes);
|
||
doc.doctype = doctype;
|
||
doc.implementation = implementation;
|
||
|
||
doc.appendChild(doc.createComment(" This is comment number 1."));
|
||
|
||
var html = doc.createElementNS("http://www.w3.org/2000/xmlns/","html");
|
||
var html = doc.appendChild(html);
|
||
|
||
var head = doc.createElementNS("http://www.w3.org/2000/xmlns/","head");
|
||
var head = html.appendChild(head);
|
||
|
||
var meta = doc.createElementNS("http://www.w3.org/2000/xmlns/","meta");
|
||
meta.setAttribute("http-equiv", "Content-Type");
|
||
meta.setAttribute("content", "text/html; charset=UTF-8");
|
||
head.appendChild(meta);
|
||
|
||
var title = doc.createElementNS("http://www.w3.org/2000/xmlns/","title")
|
||
title.appendChild(doc.createTextNode("hc_staff"));
|
||
var title = head.appendChild(title);
|
||
|
||
// make the tests work....
|
||
head.appendChild(doc.createElementNS("http://www.w3.org/2000/xmlns/","script"));
|
||
head.appendChild(doc.createElementNS("http://www.w3.org/2000/xmlns/","script"));
|
||
head.appendChild(doc.createElementNS("http://www.w3.org/2000/xmlns/","script"));
|
||
|
||
var body = doc.createElementNS("http://www.w3.org/2000/xmlns/","body");
|
||
var staff = html.appendChild(body);
|
||
|
||
var employees = [];
|
||
var addresses = [];
|
||
var names = [];
|
||
var positions = [];
|
||
var genders = [];
|
||
var ids = [];
|
||
var salaries = [];
|
||
|
||
// create 5 employees
|
||
for (var i=0; i<5; i++)
|
||
{
|
||
var employee = doc.createElementNS("http://www.w3.org/2000/xmlns/","p");
|
||
var address = doc.createElementNS("http://www.w3.org/2000/xmlns/","acronym");
|
||
var name = doc.createElementNS("http://www.w3.org/2000/xmlns/","strong");
|
||
var position = doc.createElementNS("http://www.w3.org/2000/xmlns/","code");
|
||
var gender = doc.createElementNS("http://www.w3.org/2000/xmlns/","var");
|
||
var id = doc.createElementNS("http://www.w3.org/2000/xmlns/","em");
|
||
var salary = doc.createElementNS("http://www.w3.org/2000/xmlns/","sup");
|
||
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
employee.appendChild(id);
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
employee.appendChild(name);
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
employee.appendChild(position);
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
employee.appendChild(salary);
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
employee.appendChild(gender);
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
employee.appendChild(address);
|
||
employee.appendChild(doc.createTextNode("\n"));
|
||
staff.appendChild(employee);
|
||
|
||
names.push(name);
|
||
employees.push(employee);
|
||
addresses.push(address);
|
||
genders.push(gender);
|
||
positions.push(position);
|
||
ids.push(id);
|
||
salaries.push(salary);
|
||
}
|
||
|
||
ids[0].appendChild(doc.createTextNode("EMP0001"));
|
||
salaries[0].appendChild(doc.createTextNode("56,000"));
|
||
addresses[0].setAttribute("title", "Yes");
|
||
addresses[0].appendChild(doc.createTextNode('1230 North Ave. Dallas, Texas 98551'));
|
||
names[0].appendChild(doc.createTextNode("Margaret Martin"));
|
||
genders[0].appendChild(doc.createTextNode("Female"));
|
||
positions[0].appendChild(doc.createTextNode("Accountant"));
|
||
|
||
ids[1].appendChild(doc.createTextNode("EMP0002"));
|
||
salaries[1].appendChild(doc.createTextNode("35,000"));
|
||
addresses[1].setAttribute("title", "Yes");
|
||
addresses[1].setAttribute("class", "Yes");
|
||
addresses[1].appendChild(doc.createTextNode("β Dallas, γ\n 98554"));
|
||
names[1].appendChild(doc.createTextNode("Martha Raynolds"));
|
||
names[1].appendChild(doc.createCDATASection("This is a CDATASection with EntityReference number 2 &ent2;"));
|
||
names[1].appendChild(doc.createCDATASection("This is an adjacent CDATASection with a reference to a tab &tab;"));
|
||
genders[1].appendChild(doc.createTextNode("Female"));
|
||
positions[1].appendChild(doc.createTextNode("Secretary"));
|
||
|
||
ids[2].appendChild(doc.createTextNode("EMP0003"));
|
||
salaries[2].appendChild(doc.createTextNode("100,000"));
|
||
addresses[2].setAttribute("title", "Yes");
|
||
addresses[2].setAttribute("class", "No");
|
||
addresses[2].appendChild(doc.createTextNode("PO Box 27 Irving, texas 98553"));
|
||
names[2].appendChild(doc.createTextNode("Roger\n Jones")) ;
|
||
genders[2].appendChild(doc.createEntityReference("δ"));//Text("δ"));
|
||
positions[2].appendChild(doc.createTextNode("Department Manager"));
|
||
|
||
ids[3].appendChild(doc.createTextNode("EMP0004"));
|
||
salaries[3].appendChild(doc.createTextNode("95,000"));
|
||
addresses[3].setAttribute("title", "Yes");
|
||
addresses[3].setAttribute("class", "Yα");
|
||
addresses[3].appendChild(doc.createTextNode("27 South Road. Dallas, Texas 98556"));
|
||
names[3].appendChild(doc.createTextNode("Jeny Oconnor"));
|
||
genders[3].appendChild(doc.createTextNode("Female"));
|
||
positions[3].appendChild(doc.createTextNode("Personal Director"));
|
||
|
||
ids[4].appendChild(doc.createTextNode("EMP0005"));
|
||
salaries[4].appendChild(doc.createTextNode("90,000"));
|
||
addresses[4].setAttribute("title", "Yes");
|
||
addresses[4].appendChild(doc.createTextNode("1821 Nordic. Road, Irving Texas 98558"));
|
||
names[4].appendChild(doc.createTextNode("Robert Myers"));
|
||
genders[4].appendChild(doc.createTextNode("male"));
|
||
positions[4].appendChild(doc.createTextNode("Computer Specialist"));
|
||
|
||
doc.appendChild(doc.createProcessingInstruction("TEST-STYLE", "PIDATA"));
|
||
|
||
doc.normalize();
|
||
doc._parentWindow = createWindow(dom);
|
||
|
||
return doc;
|
||
};
|