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