]> git.cworth.org Git - sup/blob - test/dummy_source.rb
Merge branch 'parser-user-query-fix'
[sup] / test / dummy_source.rb
1 #!/usr/bin/ruby
2
3 require 'sup'
4 require 'stringio'
5 require 'rmail'
6 require 'uri'
7
8 module Redwood
9
10 class DummySource < Source
11
12   attr_accessor :messages
13
14   def initialize uri, last_date=nil, usual=true, archived=false, id=nil, labels=[]
15     super uri, last_date, usual, archived, id
16     @messages = nil
17   end
18
19   def start_offset
20     0
21   end
22
23   def end_offset
24     # should contain the number of test messages -1
25     return @messages ? @messages.length - 1 : 0
26   end
27
28   def load_header offset
29     Source.parse_raw_email_header StringIO.new(raw_header(offset))
30   end
31   
32   def load_message offset
33     RMail::Parser.read raw_message(offset)
34   end
35   
36   def raw_header offset
37     ret = ""
38     f = StringIO.new(@messages[offset])
39     until f.eof? || (l = f.gets) =~ /^$/
40       ret += l
41     end
42     ret
43   end
44   
45   def raw_message offset
46     @messages[offset]
47   end
48   
49   def each_raw_message_line offset
50     ret = ""
51     f = StringIO.new(@messages[offset])
52     until f.eof?
53       yield f.gets
54     end
55   end
56 end
57
58 end
59
60 # vim:noai:ts=2:sw=2:
61