Browse Source

Improved signature detection.

Martin Edenhofer 8 years ago
parent
commit
03b0a456e7
2 changed files with 28 additions and 1 deletions
  1. 2 1
      lib/core_ext/string.rb
  2. 26 0
      test/unit/aaa_string_test.rb

+ 2 - 1
lib/core_ext/string.rb

@@ -334,7 +334,8 @@ class String
         '<p>[[:space:]]*(--|__)',
         '(<br(|\/)>|<p>|<div>)[[:space:]]*<b>(Von|From|De|от|Z|Od|Ze|Fra|Van|Mistä|Από|Dal|から|Из|од|iz|Från|จาก|з|Từ):[[:space:]]*</b>',
         '(<br>|<div>)[[:space:]]*<br>[[:space:]]*(Von|From|De|от|Z|Od|Ze|Fra|Van|Mistä|Από|Dal|から|Из|од|iz|Från|จาก|з|Từ):[[:space:]]+',
-        '<blockquote(|.+?)>[[:space:]]*<div>[[:space:]]*(On|Am)',
+        '<blockquote(|.+?)>[[:space:]]*<div>[[:space:]]*(On|Am|Le|El|Den|Dňa|W dniu|Il|Op|Dne|Dana)[[:space:]]',
+        '<div(|.+?)>[[:space:]]*<br>[[:space:]]*(On|Am|Le|El|Den|Dňa|W dniu|Il|Op|Dne|Dana)[[:space:]].+?<blockquote',
       ]
       map.each { |regexp|
         string.sub!(/#{regexp}/m) { |placeholder|

+ 26 - 0
test/unit/aaa_string_test.rb

@@ -1062,6 +1062,32 @@ christian.schaefer@example.com'
 </blockquote></div>'
     assert_equal(result, html.html2html_strict)
 
+    html = '<div>
+<br> Am 17.03.2017 um 17:03 schrieb Martin Edenhofer via Zammad Helpdesk &lt;support@example.com&gt;:<br>
+<br>
+</div>'
+    result = '<div>
+<br> Am 17.03.2017 um 17:03 schrieb Martin Edenhofer via Zammad Helpdesk &lt;support@example.com&gt;:<br>
+<br>
+</div>'
+    assert_equal(result, html.html2html_strict)
+
+    html = '<div>
+<br> Am 17.03.2017 um 17:03 schrieb Martin Edenhofer via Zammad Helpdesk &lt;support@example.com&gt;:<br>
+<br>
+</div>
+
+<blockquote type="cite">
+<div>Dear Mr. Smith,<br></div>
+</blockquote>'
+    result = '<span class="js-signatureMarker"></span><div>
+<br> Am 17.03.2017 um 17:03 schrieb Martin Edenhofer via Zammad Helpdesk &lt;support@example.com&gt;:<br>
+<br>
+</div><blockquote type="cite">
+<div>Dear Mr. Smith,<br>
+</div>
+</blockquote>'
+    assert_equal(result, html.html2html_strict)
   end
 
 end