| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- var browser = require("../../lib/jsdom/browser");
- var dom = browser.browserAugmentation(require("../../lib/jsdom/level2/core").dom.level2.core);
- var sys = require("sys");
- var doc = new dom.Document("html");
- var implementation = new dom.DOMImplementation(doc, {
- "HTML" : "1.0",
- "DisableLiveLists" : "1.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.createEntityNode("beta", "β"),
- doc.createEntityNode("gamma", "γ"),
- doc.createEntityNode("delta", "δ"),
- doc.createEntityNode("epsilon", "ε")
- );
- // <!ATTLIST acronym dir CDATA "ltr">
- var defaultAttributes = new dom.NamedNodeMap(doc);
- var acronym = doc.createElement("acronym");
- acronym.setAttribute("dir", "ltr");
- defaultAttributes.setNamedItem(acronym);
-
-
- var doctype = new dom.DocumentType(doc, "html", entities, notations, defaultAttributes);
- doc.doctype = doctype;
- doc.implementation = implementation;
-
- doc.appendChild(doc.createComment(" This is comment number 1."));
-
- var html = doc.createElement("html");
- var html = doc.appendChild(html);
- var head = doc.createElement("head");
- var head = html.appendChild(head);
- var meta = doc.createElement("meta");
- meta.setAttribute("http-equiv", "Content-Type");
- meta.setAttribute("content", "text/html; charset=UTF-8");
- head.appendChild(meta);
-
- var title = doc.createElement("title")
- title.appendChild(doc.createTextNode("hc_staff"));
- var title = head.appendChild(title);
- // make the tests work....
- head.appendChild(doc.createElement("script"));
- head.appendChild(doc.createElement("script"));
- head.appendChild(doc.createElement("script"));
- var body = doc.createElement("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.createElement("p");
- var address = doc.createElement("acronym");
- var name = doc.createElement("strong");
- var position = doc.createElement("code");
- var gender = doc.createElement("var");
- var id = doc.createElement("em");
- var salary = doc.createElement("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"));
- ids[3].className = "classy";
- 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", "No");
- addresses[4].id = "theid";
- 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();
-
- var sizzleSandbox = {};
- var sizzle = require("./sizzle").sizzleInit(sizzleSandbox, doc);
- sys.puts(sys.inspect(sizzle('.classy,p acronym#theid').length));
|