aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/isolation/abstract_unit.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-01-26 14:58:00 +0100
committerJosé Valim <jose.valim@gmail.com>2010-01-26 14:58:00 +0100
commitf8bf1982dff9cf0f35fb7a121932c794ecdc1cb1 (patch)
tree04145ec0b4a3dae8d55bb3f31ce533708a015f20 /railties/test/isolation/abstract_unit.rb
parent7adb1ffc038e06a1c95030856859e183b181f94a (diff)
downloadrails-f8bf1982dff9cf0f35fb7a121932c794ecdc1cb1.tar.gz
rails-f8bf1982dff9cf0f35fb7a121932c794ecdc1cb1.tar.bz2
rails-f8bf1982dff9cf0f35fb7a121932c794ecdc1cb1.zip
Add tests for explicit engines.
Diffstat (limited to 'railties/test/isolation/abstract_unit.rb')
-rw-r--r--railties/test/isolation/abstract_unit.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/railties/test/isolation/abstract_unit.rb b/railties/test/isolation/abstract_unit.rb
index dc5fddb19d..940585836c 100644
--- a/railties/test/isolation/abstract_unit.rb
+++ b/railties/test/isolation/abstract_unit.rb
@@ -100,6 +100,8 @@ module TestHelpers
end
class Bukkit
+ attr_reader :path
+
def initialize(path)
@path = path
end
@@ -118,10 +120,29 @@ module TestHelpers
def plugin(name, string = "")
dir = "#{app_path}/vendor/plugins/#{name}"
FileUtils.mkdir_p(dir)
+
File.open("#{dir}/init.rb", 'w') do |f|
f.puts "::#{name.upcase} = 'loaded'"
f.puts string
end
+
+ Bukkit.new(dir).tap do |bukkit|
+ yield bukkit if block_given?
+ end
+ end
+
+ def engine(name)
+ dir = "#{app_path}/random/#{name}"
+ FileUtils.mkdir_p(dir)
+
+ app = File.readlines("#{app_path}/config/application.rb")
+ app.insert(2, "$:.unshift(\"#{dir}/lib\")")
+ app.insert(3, "require #{name.inspect}")
+
+ File.open("#{app_path}/config/application.rb", 'r+') do |f|
+ f.puts app
+ end
+
Bukkit.new(dir).tap do |bukkit|
yield bukkit if block_given?
end