sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit a34f60e4c5a56f348323e788730504fe2cfc9767
parent 3e5f636935bf5d9343e2625f6244b791987a2624
Author: Gaute Hope <eg@gaute.vetsj.com>
Date:   Wed, 12 Mar 2014 14:19:45 +0100

test, string length: make sure bad message line has length

Diffstat:
A test/messages/missing-line.eml | 9 +++++++++
M test/test_messages_dir.rb | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/test/messages/missing-line.eml b/test/messages/missing-line.eml
@@ -0,0 +1,9 @@
+From: foo@aol.com
+To: foo@test.com
+Subject: Encoding bug
+Content-Type: text/plain; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+This is =91 a test: the first line seems to disappear from the mail body but is
+still visible in the thread view.
+
diff --git a/test/test_messages_dir.rb b/test/test_messages_dir.rb
@@ -105,6 +105,41 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
     # lines should contain an error message
     assert (lines.join.include? "An error occurred while loading this message."), "This message should not load successfully"
   end
+
+  def test_missing_line
+    message = ''
+    File.open 'test/messages/missing-line.eml' do |f|
+      message = f.read
+    end
+
+    source = DummySource.new("sup-test://test_messages")
+    source.messages = [ message ]
+    source_info = 0
+
+    sup_message = Message.build_from_source(source, source_info)
+    sup_message.load_from_source!
+
+    from = sup_message.from
+    # "from" is just a simple person item
+
+    assert_equal("foo@aol.com", from.email)
+    #assert_equal("Fake Sender", from.name)
+
+    subj = sup_message.subj
+    assert_equal("Encoding bug", subj)
+
+    chunks = sup_message.load_from_source!
+    indexable_chunks = sup_message.indexable_chunks
+
+    # there should be only one chunk
+    #assert_equal(1, chunks.length)
+
+    lines = chunks[0].lines
+
+    badline = lines[0]
+    assert (badline.display_length > 0), "The length of this line should greater than 0: #{badline}"
+
+  end
 end
 
 end