]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blob - test/mock.rb
remove obsolete require of net/https
[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, :messages
18   attr_accessor :config
19
20   def initialize
21     @filters = {}
22     @config = {}
23     @lang = Irc::Bot::Language.new(self, 'english')
24     @messages = []
25   end
26
27   def say(target, message)
28     @messages << [target, message]
29   end
30
31   def register_filter(name, &block)
32     @filters[name] = block
33   end
34
35   def filter(name, value)
36     @filters[name].call({text: value})[:text]
37   end
38
39   def nick
40     'bot'
41   end
42
43   def path(*components)
44     File.join('/tmp/rbot-test', *(components.map {|c| c.to_s}))
45   end
46
47   def plugins
48     nil
49   end
50
51   def registry_factory
52     Irc::Bot::Registry.new('mem')
53   end
54 end
55
56
57 class MockMessage
58   attr_reader :message
59   attr_reader :replies
60   attr_reader :channel
61   attr_reader :replyto
62   attr_reader :sourcenick
63
64   def initialize(message='', source='user')
65     @message = message
66     @sourcenick = source
67     @replyto = source
68     @channel = Irc::Channel.new('#test', '', ['bob'], server: nil)
69     @replies = []
70   end
71
72   def reply(message)
73     @replies << message
74   end
75
76   def okay
77     reply 'okay'
78   end
79
80   def thanks
81     reply 'thanks :)'
82   end
83
84   def public?
85     true
86   end
87
88   def private?
89     false
90   end
91 end
92
93