From 21e8e7caa9b420cd7c1b2a96303200ce3686281d Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Tue, 7 Oct 2014 18:31:18 -0300 Subject: Fix cleanup of maildirs Thanks to Sylvain L. Sauvage for the bug report --- lib/feed2imap/maildir.rb | 2 +- test/maildir/cur/1376317520.15789_1.debian:2,S | 11 +++++++++++ test/tc_maildir.rb | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test/maildir/cur/1376317520.15789_1.debian:2,S diff --git a/lib/feed2imap/maildir.rb b/lib/feed2imap/maildir.rb index 8a5ade1..7335f03 100644 --- a/lib/feed2imap/maildir.rb +++ b/lib/feed2imap/maildir.rb @@ -61,7 +61,7 @@ class MaildirAccount guarantee_maildir(dir) del_count = 0 - recent_time = Time.now() -- (3 * 24 * 60 * 60) # 3 days + recent_time = Time.now() - (3 * 24 * 60 * 60) # 3 days Dir[File.join(dir, 'cur', '*')].each do |fn| flags = maildir_file_info_flags(fn) # don't consider not-seen, flagged, or recent messages diff --git a/test/maildir/cur/1376317520.15789_1.debian:2,S b/test/maildir/cur/1376317520.15789_1.debian:2,S new file mode 100644 index 0000000..09df924 --- /dev/null +++ b/test/maildir/cur/1376317520.15789_1.debian:2,S @@ -0,0 +1,11 @@ +Date: Mon, 12 Aug 2013 16:25:20 +0200 +From: Antonio Terceiro +To: terceiro@debian.org +Subject: UTF-8 data: =?iso-8859-1?B?4ent8/o=?= +Message-ID: +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +User-Agent: Mutt/1.5.21 (2010-09-15) + +This is a sample email diff --git a/test/tc_maildir.rb b/test/tc_maildir.rb index cf9f8e3..7df47b8 100644 --- a/test/tc_maildir.rb +++ b/test/tc_maildir.rb @@ -21,6 +21,10 @@ class TestMaildir < Test::Unit::TestCase folder = create_maildir msgs = message_count(folder) + four_days_ago = Time.now - (4 * 24 * 60 * 60) + old_message = Dir.glob(File.join(folder, '**/*:2,S')).first + FileUtils.touch old_message, mtime: four_days_ago + maildir_account.cleanup(folder) assert_equal msgs - 1, message_count(folder) -- cgit v1.2.3