]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blob - test/mock.rb
f1ce92dda40d81678f22c196488a60f7c6dbab29
[user/henk/code/ruby/rbot.git] / test / mock.rb
1 $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
2 $:.unshift File.join(File.dirname(__FILE__), '..')
3
4
5 module Irc
6 class Bot
7   module Config
8     @@datadir = File.expand_path(File.dirname(__FILE__) + '/../data/rbot')
9     @@coredir = File.expand_path(File.dirname(__FILE__) + '/../lib/rbot/core')
10   end
11 end
12 end
13
14
15 class MockBot
16   attr_reader :filters, :lang
17
18   def initialize
19     @filters = {}
20     @lang = Irc::Bot::Language.new(self, 'english')
21   end
22
23   def register_filter(name, &block)
24     @filters[name] = block
25   end
26
27   def filter(name, value)
28     @filters[name].call({text: value})[:text]
29   end
30
31   def nick
32     'bot'
33   end
34
35   def path(*components)
36     File.join('/tmp/rbot-test', *(components.map {|c| c.to_s}))
37   end
38
39   def plugins
40     nil
41   end
42
43   def registry_factory
44     Irc::Bot::Registry.new('mem')
45   end
46 end
47
48
49 class MockMessage
50   attr_reader :message
51   attr_reader :replies
52   attr_reader :channel
53   attr_reader :sourcenick
54
55   def initialize(message='', source='user')
56     @message = message
57     @sourcenick = source
58     @channel = Irc::Channel.new('#test', '', [], server: nil)
59     @replies = []
60   end
61
62   def reply(message)
63     @replies << message
64   end
65
66   def public?
67     true
68   end
69 end
70
71