Changeset 116
- Timestamp:
- 02/20/2007 16:14:38 (22 months ago)
- Location:
- trunk
- Files:
-
- 4 modified
-
ext/hpricot_scan/hpricot_common.rl (modified) (2 diffs)
-
lib/hpricot/elements.rb (modified) (1 diff)
-
lib/hpricot/traverse.rb (modified) (1 diff)
-
test/test_parser.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ext/hpricot_scan/hpricot_common.rl
r110 r116 8 8 # 9 9 newline = '\n' @{curline += 1;} ; 10 # qtext = '"' ( '\"' | [^\n"] )* '"' | "'" ( "\\'" | [^\n'] )* "'" ;11 10 NameChar = [\-A-Za-z0-9._:?] ; 12 11 Name = [A-Za-z_:] NameChar* ; … … 20 19 Q1Attr = [^']* >_aval %aval ; 21 20 Q2Attr = [^"]* >_aval %aval ; 22 UnqAttr = ( space >_aval | [^ \t\ n<>"'] >_aval [^ \t\n<>]* %aunq ) ;21 UnqAttr = ( space >_aval | [^ \t\r\n<>"'] >_aval [^ \t\r\n<>]* %aunq ) ; 23 22 Nmtoken = NameChar+ >_akey %akey ; 24 23 -
trunk/lib/hpricot/elements.rb
r113 r116 195 195 196 196 ATTR_RE = %r!\[ *(?:(@)([\w\(\)-]+)|([\w\(\)-]+\(\))) *([~\!\|\*$\^=]*) *'?"?([^'"]*)'?"? *\]!i 197 BRACK_RE = %r!(\[) *([^\]]*) *\] !i197 BRACK_RE = %r!(\[) *([^\]]*) *\]+!i 198 198 FUNC_RE = %r!(:)?([a-zA-Z0-9\*_-]*)\( *[\"']?([^ \)]*?)['\"]? *\)! 199 199 CATCH_RE = %r!([:\.#]*)([a-zA-Z0-9\*_-]+)! -
trunk/lib/hpricot/traverse.rb
r112 r116 413 413 case nodes 414 414 when Array 415 nodes. each { |n| insert_after(n, ele) }415 nodes.reverse_each { |n| insert_after(n, ele) } 416 416 else 417 417 reparent nodes -
trunk/test/test_parser.rb
r106 r116 85 85 end 86 86 87 def test_pace 88 doc = Hpricot(TestFiles::PACE_APPLICATION) 89 assert_equal 'get', doc.at('form[@name=frmSect11]')['method'] 90 # assert_equal '2', doc.at('#hdnSpouse')['value'] 91 end 92 87 93 def test_scan_boingboing 88 94 @boingboing = Hpricot.parse(TestFiles::BOINGBOING) … … 168 174 end 169 175 176 def test_insert_after # ticket #63 177 doc = Hpricot('<html><body><div id="a-div"></div></body></html>') 178 (doc/'div').each do |element| 179 element.after('<p>Paragraph 1</p><p>Paragraph 2</p>') 180 end 181 assert_equal doc.to_html, '<html><body><div id="a-div"></div><p>Paragraph 1</p><p>Paragraph 2</p></body></html>' 182 end 183 184 def test_insert_before # ticket #61 185 doc = Hpricot('<html><body><div id="a-div"></div></body></html>') 186 (doc/'div').each do |element| 187 element.before('<p>Paragraph 1</p><p>Paragraph 2</p>') 188 end 189 assert_equal doc.to_html, '<html><body><p>Paragraph 1</p><p>Paragraph 2</p><div id="a-div"></div></body></html>' 190 end 191 170 192 def test_many_paths 171 193 @boingboing = Hpricot.parse(TestFiles::BOINGBOING)
