Changeset 161

Show
Ignore:
Timestamp:
02/21/2008 13:41:55 (3 months ago)
Author:
why
Message:
  • lib/hpricot/traverse.rb: slight fixes from wycats for get_elements_by_tag_name, from ticket #101.
Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/hpricot/traverse.rb

    r156 r161  
    524524    def get_elements_by_tag_name(*a) 
    525525      list = Elements[] 
     526      a.delete("*") 
    526527      traverse_element(*a.map { |tag| [tag, "{http://www.w3.org/1999/xhtml}#{tag}"] }.flatten) do |e| 
    527           list << e 
     528        list << e if e.elem? 
    528529      end 
    529530      list 
  • trunk/test/test_parser.rb

    r151 r161  
    4747    assert_equal 'link1', @basic.get_elements_by_tag_name('a')[0].get_attribute('id') 
    4848    assert_equal 'link1', @basic.get_elements_by_tag_name('body')[0].get_element_by_id('link1').get_attribute('id') 
     49  end 
     50   
     51  def test_get_elements_by_tag_name_star 
     52    simple = Hpricot.parse("<div><p id='first'>First</p><p id='second'>Second</p></div>") 
     53    assert_equal 3, simple.get_elements_by_tag_name("*").size 
     54    assert_equal 1, simple.get_elements_by_tag_name("div").size 
     55    assert_equal 2, simple.get_elements_by_tag_name("p").size 
    4956  end 
    5057