Improved html2text.
This commit is contained in:
parent
6bb8c7b6eb
commit
7434971416
2 changed files with 41 additions and 34 deletions
|
@ -103,6 +103,9 @@ class String
|
|||
# remove style tags with content
|
||||
string.gsub!( %r{<style(|\s.+?)>(.+?)</style>}im, '')
|
||||
|
||||
# insert spaces on [A-z]\n[A-z]
|
||||
string.gsub!( /([A-z])\n([A-z])/m, '\1 \2' )
|
||||
|
||||
# remove empty lines
|
||||
string.gsub!( /^\s*/m, '' )
|
||||
|
||||
|
|
|
@ -7,123 +7,127 @@ class AaaStringTest < ActiveSupport::TestCase
|
|||
modul = 'test'
|
||||
result = 'test'
|
||||
modul.to_filename
|
||||
assert_equal( result, modul )
|
||||
assert_equal(result, modul)
|
||||
|
||||
modul = 'Some::File'
|
||||
result = 'Some::File'
|
||||
modul.to_filename
|
||||
assert_equal( result, modul )
|
||||
assert_equal(result, modul)
|
||||
end
|
||||
|
||||
test 'to_filename function' do
|
||||
modul = 'test'
|
||||
result = 'test'
|
||||
assert_equal( result, modul.to_filename )
|
||||
assert_equal(result, modul.to_filename)
|
||||
|
||||
modul = 'Some::File'
|
||||
result = 'some/file'
|
||||
assert_equal( result, modul.to_filename )
|
||||
assert_equal(result, modul.to_filename)
|
||||
end
|
||||
|
||||
test 'to_classname ref' do
|
||||
modul = 'test'
|
||||
result = 'test'
|
||||
modul.to_filename
|
||||
assert_equal( result, modul )
|
||||
assert_equal(result, modul)
|
||||
|
||||
modul = 'some/file'
|
||||
result = 'some/file'
|
||||
modul.to_filename
|
||||
assert_equal( result, modul )
|
||||
assert_equal(result, modul)
|
||||
end
|
||||
|
||||
test 'to_classname function' do
|
||||
modul = 'test'
|
||||
result = 'Test'
|
||||
assert_equal( result, modul.to_classname )
|
||||
assert_equal(result, modul.to_classname)
|
||||
|
||||
modul = 'some/file'
|
||||
result = 'Some::File'
|
||||
assert_equal( result, modul.to_classname )
|
||||
assert_equal(result, modul.to_classname)
|
||||
|
||||
modul = 'some/files'
|
||||
result = 'Some::Files'
|
||||
assert_equal( result, modul.to_classname )
|
||||
assert_equal(result, modul.to_classname)
|
||||
|
||||
modul = 'some_test/files'
|
||||
result = 'SomeTest::Files'
|
||||
assert_equal( result, modul.to_classname )
|
||||
assert_equal(result, modul.to_classname)
|
||||
end
|
||||
|
||||
test 'html2text ref' do
|
||||
html = 'test'
|
||||
result = 'test'
|
||||
html.html2text
|
||||
assert_equal( result, html )
|
||||
assert_equal(result, html)
|
||||
|
||||
html = '<div>test</div>'
|
||||
result = '<div>test</div>'
|
||||
html.html2text
|
||||
assert_equal( result, html )
|
||||
assert_equal(result, html)
|
||||
end
|
||||
|
||||
test 'html2text function' do
|
||||
|
||||
html = 'test'
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = ' test '
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "\n\n test \n\n\n"
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = '<div>test</div>'
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = '<div>test<br></div>'
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<div>test<br><br><br>\n<br>\n<br>\n</div>"
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<pre>test\n\ntest</pre>"
|
||||
result = "test\ntest"
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<code>test\n\ntest</code>"
|
||||
result = "test\ntest"
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = '<table><tr><td>test</td><td>col</td></td></tr><tr><td>test</td><td>4711</td></tr></table>'
|
||||
result = "test col \ntest 4711"
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<p><span>Was\nsoll verbessert werden:</span></p>"
|
||||
result = 'Was soll verbessert werden:'
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<!-- some comment -->
|
||||
<div>
|
||||
test<br><br><br>\n<br>\n<br>\n
|
||||
</div>"
|
||||
result = 'test'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "\n<div><a href=\"http://zammad.org\">Best Tool of the World</a>
|
||||
some other text</div>
|
||||
<div>"
|
||||
result = "[1] Best Tool of the Worldsome other text\n\n\n[1] http://zammad.org"
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<!-- some comment -->
|
||||
<div>
|
||||
test<br><br><br>\n<hr/>\n<br>\n
|
||||
</div>"
|
||||
result = "test\n\n___"
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = ' line 1<br>
|
||||
you<br/>
|
||||
|
@ -131,12 +135,12 @@ you<br/>
|
|||
should = 'line 1
|
||||
you
|
||||
-----&'
|
||||
assert_equal( should, html.html2text )
|
||||
assert_equal( should, html.html2text)
|
||||
|
||||
html = ' <ul><li>#1</li><li>#2</li></ul>'
|
||||
should = '* #1
|
||||
* #2'
|
||||
assert_equal( should, html.html2text )
|
||||
assert_equal( should, html.html2text)
|
||||
|
||||
html = '<!DOCTYPE html>
|
||||
<html>
|
||||
|
@ -151,7 +155,7 @@ you
|
|||
>
|
||||
> Thank you for installing Zammad.
|
||||
>'
|
||||
assert_equal( should, html.html2text )
|
||||
assert_equal( should, html.html2text)
|
||||
|
||||
html = ' <style type="text/css">
|
||||
body {
|
||||
|
@ -186,7 +190,7 @@ ont-size: 12px;;
|
|||
|
||||
</style><p>some other content</p>'
|
||||
should = 'some other content'
|
||||
assert_equal( should, html.html2text )
|
||||
assert_equal( should, html.html2text)
|
||||
|
||||
html = ' IT-Infrastruktur</span><br>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
|
@ -253,7 +257,7 @@ div.wordsection1
|
|||
<o:idmap v:ext="edit" data="1" />
|
||||
</o:shapelayout></xml><![endif]-->'
|
||||
should = 'IT-Infrastruktur'
|
||||
assert_equal( should, html.html2text )
|
||||
assert_equal( should, html.html2text)
|
||||
|
||||
html = "<h1>some head</h1>
|
||||
some content
|
||||
|
@ -268,7 +272,7 @@ some content
|
|||
> line 2
|
||||
|
||||
some text later'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<h1>some head</h1>
|
||||
some content
|
||||
|
@ -283,7 +287,7 @@ some content
|
|||
> line 2
|
||||
|
||||
some text later'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<h1>some head</h1>
|
||||
some content
|
||||
|
@ -298,7 +302,7 @@ some content
|
|||
>
|
||||
> line 2
|
||||
some text later'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<p>Best regards,</p>
|
||||
<p><i>Your Team Team</i></p>
|
||||
|
@ -312,7 +316,7 @@ P.S.: You receive this e-mail because you are listed in our database as person w
|
|||
|
||||
|
||||
[1] http://www.teamviewer.example/en/company/unsubscribe.aspx?id=1009645&ident=xxx'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
html = "<div><br>Dave and leaned her
|
||||
days adam.</div><span style=\"color:#F7F3FF; font-size:8px\">Maybe we
|
||||
|
@ -325,7 +329,7 @@ Maybe we want any help me that.
|
|||
Next morning charlie saw at their father.
|
||||
Well as though adam took out here. Melvin will be more money. Called him into this one last thing.
|
||||
Men-----------------------'
|
||||
assert_equal( result, html.html2text )
|
||||
assert_equal(result, html.html2text)
|
||||
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue