Multiple changes.

- Remove the runtime dependency on rake-compiler.
 - Use #rb_str_new instead of #rb_str_new2, the hash character array
   isn't null terminated.
 - Add various safeguards for object instantiations.
 - Remove the 'threaded' options for messages, folding them into
   'archived'.  If archiving is enabled, so is threading.
 - Return nil for lookups from the list object instead of raising
   exceptions.
 - Open subject indexes with the proper encodings (thanks Michael
   Granger!)
 - Allow touching and unlinking files to operate on multiple paths
   at once, within a single safety() wrap.
This commit is contained in:
Mahlon E. Smith 2017-05-16 13:58:34 -07:00
parent c99bdfe747
commit 3871084daa
17 changed files with 257 additions and 110 deletions

View file

@ -29,10 +29,10 @@ describe Ezmlm::List::Thread do
end
it 'raises error if thread indexing is disabled' do
expect( list ).to receive( :threaded? ).and_return( false )
expect( list ).to receive( :archived? ).and_return( false )
expect {
described_class.new( list, thread_id )
}.to raise_error( RuntimeError, /indexing is not enabled/i )
}.to raise_error( RuntimeError, /archiving is not enabled/i )
end
it 'raises error if passed a malformed thread ID' do
@ -43,7 +43,7 @@ describe Ezmlm::List::Thread do
it 'raises error when unable to read thread file' do
allow( list ).to receive( :listdir ).and_return( Pathname('/nope') )
expect( list ).to receive( :threaded? ).and_return( true )
expect( list ).to receive( :archived? ).and_return( true )
expect {
described_class.new( list, thread_id )
}.to raise_error( RuntimeError, /unknown thread/i )