Skip to content

Instantly share code, notes, and snippets.

@tmpvar
Created February 11, 2011 05:25
Show Gist options
  • Save tmpvar/821964 to your computer and use it in GitHub Desktop.
Save tmpvar/821964 to your computer and use it in GitHub Desktop.
changes to jsdom since last release (0.1.23)
[test] added test for env method (hij1nx)
[text] formatting updates (hij1nx)
[test/api] added env export to easily set up a dom+resource environment/closure, detatched tests added not complete (hij1nx)
FIXED: undefined reference (parent) (Elijah Insua)
DocumentType.toString: Generate a valid <!DOCTYPE> string in all cases where the DocumentType is valid. Won't include the internal subset (yet). Also, if the full DOCTYPE string is already known, just return it immediately without all the fuss of generating one. (Daniel Cassidy)
Having a doctype is not a requirement for removing namespaced attributes (Sam Ruby)
Fix broken bugfix URL. (Daniel Cassidy)
adding Daniel Cassidy to the contributers (Elijah Insua)
Fix createEntityReference to behave correctly when the document has no doctype (fixes failing test case nodenormalize01). (Daniel Cassidy)
createDocument: don't create a doctype automatically. If the caller doesn't pass in a doctype, create a document with no doctype. (Daniel Cassidy)
createDocument fix from the previous commit exposed a failing test case caused by tagRegEx not matching the 'Name' production from the XML grammar. For now just change the regex to also match dot '.' since that is the minimum change to pass the test. (Daniel Cassidy)
createDocument: don't incorrectly set namespaceURI and qualfiedName on document; create a document element using the specified namespaceURI and qualifiedName, but only if a qualifiedName is specified. (Daniel Cassidy)
level2 is complete, how about that. (Elijah Insua)
3 level2 tests remain (Elijah Insua)
boiling it down once again (Elijah Insua)
FIXED: error handling in level1 (Elijah Insua)
small perf improvement (_attributes instead of attributes getter) (Elijah Insua)
refactor for attribute NS methods to use nameditem NS methods internally is complete. now time to fix the internal representation (Elijah Insua)
refactored 2 more methods to use *NamedItemNS internally (Elijah Insua)
moving towards using setNamedItemNS instead of setAttribute, as the internals need to be different (Elijah Insua)
keeping defaults unspecified, namespaceURIs, localNames, etc (Elijah Insua)
marking default nodes specified = false (Elijah Insua)
added specified setter for default attributes and fixed the issue where default attributes were being copied (Elijah Insua)
fixed another test by simply using the correct method in attrCopy (Elijah Insua)
removed dupe files from level2/core (Elijah Insua)
added jsdom.html() method which is the same as jsdom but it ensures there is an html/body tag wrapping the incomming markup (Elijah Insua)
cleaned up errors, add mutation events on jQueryify (Elijah Insua)
Added an _addIds method to reverse the _removeIds to handle appending a structure that had children with ids so all ids get placed into the _ids cache on the document (Dav Glass)
Removed the second HTMLEncode from generateHtmlRecursive since the importer already Encodes the contents (Dav Glass)
Added doctype.toString() (Dav Glass)
Fix level1 error messages (Aria Stewart)
starting to move everything out of Node.*attribute* into NamedNodeMap for level2 (Elijah Insua)
removed debug code (Elijah Insua)
FIXED: staffNS.xml.js (Elijah Insua)
more fixing for staffNS.xml.js and readonly NameNodeMap stuff (Elijah Insua)
More cleanup, 8 tests left (Elijah Insua)
FIXED: typo in cloneNode for ENTITY_NODEs (Elijah Insua)
FIXED: more staff.xml.js and staffNS.xml.js fixes (Elijah Insua)
FIXED: yet another fix to staffNS.xml.js to be one step closer to being identical to staffNS.xml (Elijah Insua)
FIXED: changed proper casing of 'Texas' to invalid 'texas' to make a pass (Elijah Insua)
FIXED: imported attributes are marked specified (Elijah Insua)
FIXED: level1 createElement now sets element._created = true to work around timing of setting prefix/namespaceURI/etc (Elijah Insua)
FIXED: contrary to popular believe EntityReferences can point to non-existant entities. (Elijah Insua)
FIXED: removed html tests in xml land. (Elijah Insua)
FIXED: a typo in createElementNS, prefix sanity checking, and the order in which validation occurs (Elijah Insua)
FIXED: the parser needs to handle ATTLIST emp:address emp:zone ID #IMPLIED (Elijah Insua)
FIXED: weird default attribute behavior (Elijah Insua)
FIXED: Element.hasAttributeNS by using Element.getAttributeNodeNS instead of getAttributeNS (Elijah Insua)
FIXED: Element.hasAttributeNS by fixing staffNS.xml.js (Elijah Insua)
FIXED: removeAttributeNS (wasnt actually removing anything) and getAttributeNS was returning null instead of '' (Elijah Insua)
FIXED: hasAttributeNS (Elijah Insua)
FIXED: staffNS.xml.js, dont mix NS and non-NS methods/objects (Elijah Insua)
FIXED: Attribute.ownerElement (Elijah Insua)
staffNS.xml.js fix (Elijah Insua)
FIXED: staffNS.xml.js, the parser should provide default attributes (Elijah Insua)
FIXED: staff.xml.js (default address.street) and Document.createElement / newElement.prefix (Elijah Insua)
FIXED: error condition with removeNamedNode/default attributes (Elijah Insua)
FIXED: Document.nodeName _always_ returns '#document' (Elijah Insua)
FIXED: properly fixed xml documentElement by simply appending a new Element('xml') (Elijah Insua)
FIXED: hasAttributes is only true on ELEMENT_NODEs (Elijah Insua)
FIXED: qualifiedName/prefix calculation (now uses nodeName) (Elijah Insua)
FIXED: getElementsByTagNameNS, by filtering out non ELEMENT_NODEs (Elijah Insua)
removed TODO and updated jQuery to 1.4.4 (Elijah Insua)
added tests for numeric attributes (Elijah Insua)
Make xml5 test pass (Sam Ruby)
Make xml5 test pass (Sam Ruby)
Query the a newly created top node when the element is not appended to the document yet. (Julien Guimont)
Fixed test for queryselectorall Based on sizzle comment https://github.com/jeresig/sizzle/blob/master/sizzle.js#L1146 it seems querySelectorAll for elements should act on the parent node. Sizzle adds a special id "__sizzle__" if the element does not have one already. (Julien Guimont)
Add failing test case for querySelectorAll. (Damian Janowski)
fixing copy and paste issue in staff.xml.js (Elijah Insua)
reworking staff.xml (Elijah Insua)
preserve namespaceURI/qualifiedName (Elijah Insua)
fixed a test by fixing the the test document (staffNS) (Elijah Insua)
fixed another sidecase with setAttributeNS, 54 tests left (Elijah Insua)
added emp:zone to test (Elijah Insua)
fixed Element.removeAttributeNS tests (Elijah Insua)
mark the entire Entity branch readonly (Elijah Insua)
updated staffNS test to be more correct (for realz this time) (Elijah Insua)
Revert "updated staffNS test to be more correct" (Elijah Insua)
updated staffNS test to be more correct (Elijah Insua)
fixed 7 more tests (Elijah Insua)
made 1 test pass, removed debug (Elijah Insua)
cleanup and better NAMESPACE_ERR messages (Elijah Insua)
better handling for default attributes (Elijah Insua)
updated jQueryify to force script execution (Elijah Insua)
Revert "removed forced uppercasing of tags in jsdom" (Elijah Insua)
fixed 5 tests by fixing the the test documents (Elijah Insua)
fixed a few more level2 test (73 failing) (Elijah Insua)
fixed a couple more level2/core issues (Elijah Insua)
Element.setAttribute() returns the new attribute. fixes 11 level2/core tests (Elijah Insua)
cleanup (Elijah Insua)
fixed level2/html doctype sniffing, more level2/core work (Elijah Insua)
cleaned up NamedNodeMap._map (made it actually function) (Elijah Insua)
document should not return a tagName and removed debug code (Elijah Insua)
removed forced uppercasing of tags in jsdom (Elijah Insua)
updated staffNS test, fixes one test (Elijah Insua)
createDocument throws when there is a prefixed qualified name and no namespaceURI (Elijah Insua)
update jsdom's description to be cleaner (Elijah Insua)
apparently its ok if a namespace is 'null' (Elijah Insua)
removed duplicate getElementsByTagNameNS from document, made a couple more tests pass by allowing null as a valid namespace URI (Elijah Insua)
since childNode/children objects are live lists, lets update them whenever a node is added to the this._childNodes array (Elijah Insua)
moved textContent implementation into level3/core and moved it closer to spec (Elijah Insua)
made domToHtml proxy the rawText argument (Elijah Insua)
cache regex, bit of cleanup (Elijah Insua)
use array accessor when visiting attributes instead of .item() (11.90) (Elijah Insua)
light cleanup, small improvement (12.00) (Elijah Insua)
more conversion from getter to property when appropriate (12.29) (Elijah Insua)
updated level1/core to use _readonly property instead of getter (~13.40) (Elijah Insua)
updated level2/core level2/html with the ownerDocument and parentNode getter->prop conversion (~13.80) (Elijah Insua)
converted internal calls to parentNode getter to _parentNode property (14.19 -> 13.8) (Elijah Insua)
converted doctype getter to _doctype prop (14.70 -> 14.19) (Elijah Insua)
finished converting calls to the ownerDocument getter to properties (15.30 -> 14.70) (Elijah Insua)
converted calls to this.ownerDocument to this._ownerDocument which completed 3 tests and dropped execution time (17.00 -> 15.30) (Elijah Insua)
finished converting nodeType getters into props (18.45 -> 17.00) (Elijah Insua)
reworked how hasFeature works, cleaned up getElementsByTagName, and made nodeType a property instead of a getter (19.75 -> 18.45) (Elijah Insua)
added cache to runner.js for litte to no gain.. (Elijah Insua)
made nodeType getters properties of node, and also local vars for another speed bump (~2%) (Elijah Insua)
changed NamedNodeMap.length to be a property instead of a getter (slight perf improvement) (Elijah Insua)
made the external facing jQueryify method sit on exports.jsdom so it's easier to access (Elijah Insua)
indentation in readme +1 (Elijah Insua)
indentation in readme (Elijah Insua)
updated readme (Elijah Insua)
Don't entitify inline stylesheets when serializing. (Andreas Lind Petersen)
Don't include line numbers by default (for performance reasons) (Felix Gnass)
MutationEvents can now be disabled (Felix Gnass)
Performance tuning: Converted closures into static functions on the constructor to avoid LazyCompilation upon each invocation. (Felix Gnass)
Performance tuning: Replaced the phpjs htmlencoding code by a lightweight version that doesn't create lookup tables on each invocation. Also gets rid of all the split/join calls. (Felix Gnass)
fixed some level2/core tests by way of fixing the 'markup' (Elijah Insua)
updated runner.js to show properly show the current state of level3/core tests (global stompage) (Elijah Insua)
Cache RegExps (Felix Gnass)
Fix: The event is already dispatched in level2/events, hence it fires twice which results in a duplicate execution of script blocks (Felix Gnass)
Make NodeList creation lazy to reduce the number of objects being created (improves garbage collection speed) (Felix Gnass)
Use named functions as constructors for better stack-trace readability (Felix Gnass)
Improve core3 level compareDocumentOrder compatibility. (José Valim)
ADD: test for splitText issue (#118) (Elijah Insua)
Run scripts in the same context, but without DOMWindow extending the native Context object, as this noticeable degrades the performance. DOMWindow now inherits from the DOM, so that the properties don't have to be copied by hand. (Felix Gnass)
Use a separate NodeList for Node.children instead of creating a new one on each getter invocation (Felix Gnass)
Fixed prevVal/newVal in DOMAttrModified event (Felix Gnass)
splitText inserts new text node immediately after original node, not at the end of the parent element. (Nick Stenning)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment