summaryrefslogtreecommitdiff
path: root/test/mock.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/mock.rb')
-rw-r--r--test/mock.rb71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/mock.rb b/test/mock.rb
new file mode 100644
index 00000000..f1ce92dd
--- /dev/null
+++ b/test/mock.rb
@@ -0,0 +1,71 @@
+$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
+$:.unshift File.join(File.dirname(__FILE__), '..')
+
+
+module Irc
+class Bot
+ module Config
+ @@datadir = File.expand_path(File.dirname(__FILE__) + '/../data/rbot')
+ @@coredir = File.expand_path(File.dirname(__FILE__) + '/../lib/rbot/core')
+ end
+end
+end
+
+
+class MockBot
+ attr_reader :filters, :lang
+
+ def initialize
+ @filters = {}
+ @lang = Irc::Bot::Language.new(self, 'english')
+ end
+
+ def register_filter(name, &block)
+ @filters[name] = block
+ end
+
+ def filter(name, value)
+ @filters[name].call({text: value})[:text]
+ end
+
+ def nick
+ 'bot'
+ end
+
+ def path(*components)
+ File.join('/tmp/rbot-test', *(components.map {|c| c.to_s}))
+ end
+
+ def plugins
+ nil
+ end
+
+ def registry_factory
+ Irc::Bot::Registry.new('mem')
+ end
+end
+
+
+class MockMessage
+ attr_reader :message
+ attr_reader :replies
+ attr_reader :channel
+ attr_reader :sourcenick
+
+ def initialize(message='', source='user')
+ @message = message
+ @sourcenick = source
+ @channel = Irc::Channel.new('#test', '', [], server: nil)
+ @replies = []
+ end
+
+ def reply(message)
+ @replies << message
+ end
+
+ def public?
+ true
+ end
+end
+
+