<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/debug.js</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -6,3 +6,6 @@ JAR = java -jar rhino/js.jar
 
 test-rhino:
 	@@${JAR} ${TEST}
+
+run-rhino:
+	echo &quot;load('src/env.js');window.location='test/index.html';&quot; | ${JAR}</diff>
      <filename>Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -143,6 +143,9 @@ var window = this;
 	};
 	
 	DOMDocument.prototype = {
+		get nodeType(){
+			return 9;
+		},
 		createTextNode: function(text){
 			return makeNode( this._dom.createTextNode(
 				text.replace(/&amp;/g, &quot;&amp;amp;&quot;).replace(/&lt;/g, &quot;&amp;lt;&quot;).replace(/&gt;/g, &quot;&amp;gt;&quot;)) );
@@ -154,6 +157,19 @@ var window = this;
 			return new DOMNodeList( this._dom.getElementsByTagName(
 				name.toLowerCase()) );
 		},
+		getElementsByName: function(name){
+			var elems = this._dom.getElementsByTagName(&quot;*&quot;), ret = [];
+			ret.item = function(i){ return this[i]; };
+			ret.getLength = function(){ return this.length; };
+			
+			for ( var i = 0; i &lt; elems.length; i++ ) {
+				var elem = elems.item(i);
+				if ( elem.getAttribute(&quot;name&quot;) == name )
+					ret.push( elem );
+			}
+			
+			return new DOMNodeList( ret );
+		},
 		getElementById: function(id){
 			var elems = this._dom.getElementsByTagName(&quot;*&quot;);
 			
@@ -264,6 +280,9 @@ var window = this;
 		get nodeName() {
 			return this._dom.getNodeName();
 		},
+		get childNodes(){
+			return new DOMNodeList( this._dom.getChildNodes() );
+		},
 		cloneNode: function(deep){
 			return makeNode( this._dom.cloneNode(deep) );
 		},
@@ -290,6 +309,19 @@ var window = this;
 		}
 	};
 
+	window.DOMComment = function(node){
+		this._dom = node;
+	};
+
+	DOMComment.prototype = extend(new DOMNode(), {
+		get nodeType(){
+			return 8;
+		},
+		get outerHTML(){
+			return &quot;&lt;!--&quot; + this.nodeValue + &quot;--&gt;&quot;;
+		}
+	});
+
 	// DOM Element
 
 	window.DOMElement = function(elem){
@@ -349,7 +381,7 @@ var window = this;
 		set innerHTML(html){
 			html = html.replace(/&lt;\/?([A-Z]+)/g, function(m){
 				return m.toLowerCase();
-			});
+			}).replace(/&amp;nbsp;/g, &quot; &quot;);
 			
 			var nodes = this.ownerDocument.importNode(
 				new DOMDocument( new java.io.ByteArrayInputStream(
@@ -505,6 +537,9 @@ var window = this;
 		get elements(){
 			return this.getElementsByTagName(&quot;*&quot;);
 		},
+		get options(){
+			return this.getElementsByTagName(&quot;option&quot;);
+		},
 		get contentWindow(){
 			return this.nodeName == &quot;IFRAME&quot; ? {
 				document: this.contentDocument
@@ -548,9 +583,11 @@ var window = this;
 	function makeNode(node){
 		if ( node ) {
 			if ( !obj_nodes.containsKey( node ) )
-				obj_nodes.put( node, node.getNodeType() == 
-					Packages.org.w3c.dom.Node.ELEMENT_NODE ?
-						new DOMElement( node ) : new DOMNode( node ) );
+				obj_nodes.put( node, node.getNodeType() == 1?
+					new DOMElement( node ) :
+					node.getNodeType() == 8 ?
+					new DOMComment( node ) :
+					new DOMNode( node ) );
 			
 			return obj_nodes.get(node);
 		} else</diff>
      <filename>src/env.js</filename>
    </modified>
    <modified>
      <diff>@@ -5,13 +5,13 @@ window.location = &quot;test/index.html&quot;;
 
 window.onload = function(){
     // Load the test runner
-    load(&quot;test/jquery.js&quot;,&quot;test/testrunner.js&quot;);
+    load(&quot;test/testrunner.js&quot;, &quot;test/jquery.js&quot;);
     
     // Load the tests
     load(
-        &quot;test/unit/core.js&quot;
-        //&quot;test/unit/selector.js&quot;,
-        //&quot;test/unit/event.js&quot;,
+        &quot;test/unit/core.js&quot;,
+        &quot;test/unit/selector.js&quot;,
+        &quot;test/unit/event.js&quot;
         //&quot;test/unit/fx.js&quot;,
         //&quot;test/unit/ajax.js&quot;
     );</diff>
      <filename>test/test.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,10 @@
+var jQuery = this.jQuery || &quot;jQuery&quot;, // For testing .noConflict()
+	$ = this.$ || &quot;$&quot;,
+	originaljQuery = jQuery,
+	original$ = $;
+
+var isLocal = true;
+
 function test(name, fn){
 	expected = -1;
 	numTests = 0;
@@ -138,7 +145,7 @@ function t(a,b,c) {
 function equals(expected, actual, message) {
 	var result = expected == actual;
 	message = message || (result ? &quot;okay&quot; : &quot;failed&quot;);
-	log( result, result ? message + &quot;: &quot; + expected : message + &quot; expected: &quot; + expected + &quot; actual: &quot; + actual );
+	log( result, result ? message + &quot;: &quot; + expected : message + &quot; actual: &quot; + expected + &quot; expected: &quot; + actual );
 }
 
 var numTests = 0, total = 0, pass = 0, fail = 0;
@@ -194,4 +201,4 @@ function triggerEvent( elem, type, event ) {
  */
 function url(value) {
 	return value + (/\?/.test(value) ? &quot;&amp;&quot; : &quot;?&quot;) + new Date().getTime() + &quot;&quot; + parseInt(Math.random()*100000);
-}
\ No newline at end of file
+}</diff>
      <filename>test/testrunner.js</filename>
    </modified>
    <modified>
      <diff>@@ -1388,6 +1388,8 @@ test(&quot;text(String)&quot;, function() {
 	expect(4);
 	equals( jQuery(&quot;#foo&quot;).text(&quot;&lt;div&gt;&lt;b&gt;Hello&lt;/b&gt; cruel world!&lt;/div&gt;&quot;)[0].innerHTML, &quot;&amp;lt;div&amp;gt;&amp;lt;b&amp;gt;Hello&amp;lt;/b&amp;gt; cruel world!&amp;lt;/div&amp;gt;&quot;, &quot;Check escaped text&quot; );
 
+print(jQuery(&quot;#nonnodes&quot;)[0].innerHTML);
+
 	// using contents will get comments regular, text, and comment nodes
 	var j = jQuery(&quot;#nonnodes&quot;).contents();
 	j.text(&quot;hi!&quot;);</diff>
      <filename>test/unit/core.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a2175bb7fd4d17c5839d356b940fe91aee83e681</id>
    </parent>
  </parents>
  <author>
    <name>John Resig</name>
    <email>jresig@zilla-2.local</email>
  </author>
  <url>http://github.com/jeresig/env-js/commit/76ce0a77bb0541745d79a73cd8ae2faa33f69590</url>
  <id>76ce0a77bb0541745d79a73cd8ae2faa33f69590</id>
  <committed-date>2008-06-17T18:23:05-07:00</committed-date>
  <authored-date>2008-06-17T18:23:05-07:00</authored-date>
  <message>Updated to run the jQuery test runner. The runner goes to completion now (for core, selectors, and events) although only selectors and events completely pass.</message>
  <tree>1dfe0d79b22da7cc5a97573331f1fac21c72a864</tree>
  <committer>
    <name>John Resig</name>
    <email>jresig@zilla-2.local</email>
  </committer>
</commit>
