public
Description: Johnson wraps JavaScript in a loving Ruby embrace.
Homepage: http://github.com/jbarnette/johnson/wikis
Clone URL: git://github.com/jbarnette/johnson.git
test parsing an html file
tenderlove (author)
Sat May 31 14:47:13 -0700 2008
commit  c46ddad689be0ead9578c946dfcaeb75d8cf7e0c
tree    aaabf41ed0aefc95fc561f62247bbec254ff9c99
parent  767364fb63a51c30eb43e3ffcebe65b4ac85fcc6
...
552
553
554
555
556
557
558
 
 
 
 
559
560
 
561
562
563
...
552
553
554
 
 
 
 
555
556
557
558
559
 
560
561
562
563
0
@@ -552,12 +552,12 @@ print = function(txt) { Ruby.puts(txt); };
0
   
0
   function makeNode(node){
0
     if ( node ) {
0
-      if ( !obj_nodes.containsKey( node ) )
0
-        obj_nodes.put( node, node.getNodeType() == 
0
-          Packages.org.w3c.dom.Node.ELEMENT_NODE ?
0
-            new DOMElement( node ) : new DOMNode( node ) );
0
+      if ( !obj_nodes['key?']( node ) )
0
+        obj_nodes[node] = node.getNodeType() == 
0
+          W3CDOMNode.ELEMENT_NODE ?
0
+            new DOMElement( node ) : new DOMNode( node );
0
       
0
-      return obj_nodes.get(node);
0
+      return obj_nodes[node];
0
     } else
0
       return null;
0
   }
...
1
2
 
 
3
4
5
...
18
19
20
 
 
 
 
 
 
 
 
 
21
22
23
...
1
2
3
4
5
6
7
...
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
0
@@ -1,5 +1,7 @@
0
 require File.expand_path(File.join(File.dirname(__FILE__), "/../helper"))
0
 
0
+require 'net/http'
0
+
0
 module Johnson
0
   class BrowserTest < Johnson::TestCase
0
     def setup
0
@@ -18,6 +20,15 @@ module Johnson
0
       assert_equal(uri.to_s, @runtime.evaluate('window.location').to_s)
0
     end
0
 
0
+    def test_set_location_with_url
0
+      file = File.expand_path(__FILE__) + "/../../assets/index.html"
0
+      filename = "file://#{File.expand_path(file)}"
0
+      may_thread {
0
+        @runtime.evaluate("window.location = '#{filename}'")
0
+      }
0
+      doc = @runtime.evaluate('window.document')
0
+    end
0
+
0
     def may_thread(&block)
0
       block.call
0
       (Thread.list - [Thread.main]).each { |t| t.join }

Comments