summaryrefslogtreecommitdiff
path: root/test/plugins
diff options
context:
space:
mode:
authorMatthias Hecker <mail@apoc.cc>2020-03-30 23:46:19 +0200
committerMatthias Hecker <mail@apoc.cc>2020-03-30 23:54:04 +0200
commitce800e5957045e05a8f270bd5caabf9cb83a8ba0 (patch)
treefa69651155fdd47267ac36f207c319265d1dd226 /test/plugins
parent9c6d7ae907980870f364b2c8d4282fbc270cb202 (diff)
test: first plugin test added for rot13
Diffstat (limited to 'test/plugins')
-rw-r--r--test/plugins/test_rot13.rb58
1 files changed, 58 insertions, 0 deletions
diff --git a/test/plugins/test_rot13.rb b/test/plugins/test_rot13.rb
new file mode 100644
index 00000000..0727c77f
--- /dev/null
+++ b/test/plugins/test_rot13.rb
@@ -0,0 +1,58 @@
+$:.unshift File.join(File.dirname(__FILE__), '../lib')
+
+module Irc
+class Bot
+ module Config
+ @@datadir = File.expand_path(File.dirname($0) + '/../data/rbot')
+ @@coredir = File.expand_path(File.dirname($0) + '/../lib/rbot/core')
+ end
+end
+end
+
+require 'test/unit'
+require 'rbot/ircbot'
+require 'rbot/registry'
+require 'rbot/plugins'
+
+
+class MockBot
+ attr_reader :filters
+ def initialize
+ @filters = {}
+ end
+
+ def register_filter(name, &block)
+ @filters[name] = block
+ end
+
+ def path
+ ''
+ end
+
+ def registry_factory
+ Irc::Bot::Registry.new('tc')
+ end
+end
+
+
+class PluginTest < Test::Unit::TestCase
+ def setup
+ Irc::Bot::Plugins.manager.bot_associate(MockBot.new)
+
+ # @plugin = RotPlugin.new(MockBot.new)
+ # require ''
+ plugin_module = Module.new
+ fname = './data/rbot/plugins/rot13.rb'
+ bindtextdomain_to(plugin_module, "rbot-#{File.basename(fname, '.rb')}")
+ plugin_string = IO.read(fname)
+ plugin_module.module_eval(plugin_string, fname)
+ end
+
+ def test_rot13
+ plugins = Irc::Bot::Plugins.manager.botmodules[:Plugin]
+ assert_equal(plugins.size, 1)
+ rot13 = plugins.first
+
+ assert_equal(rot13.help(nil), "rot13 <string> => encode <string> to rot13 or back")
+ end
+end