Sha256: 76c0bd07dd86aa7b2b41aaeeeea6e1ce09a03c214dc0dd46b0839018286d378e
Contents?: true
Size: 1.24 KB
Versions: 2
Compression:
Stored size: 1.24 KB
Contents
# coding: utf-8 require 'fileutils' require 'yaml' require_relative 'capture_std' require 'i18n/tasks/commands' module TestCodebase include CaptureStd extend self AT = 'tmp/test_codebase' def i18n_task(*args) TestCodebase.in_test_app_dir do ::I18n::Tasks::BaseTask.new(*args) end end def i18n_cmd(*args) TestCodebase.in_test_app_dir do ::I18n::Tasks::Commands.new(*args) end end def run_cmd(name, *args, &block) in_test_app_dir do silence_stderr { capture_stdout { i18n_cmd.send(name, *args, &block) } } end end def setup(files = {}) FileUtils.mkdir_p AT in_test_app_dir do files.each do |path, content| FileUtils.mkdir_p File.dirname(path) File.open(path, 'w') { |f| f.write(content) } end end end def teardown FileUtils.rm_rf AT end def rake_result(task, *args) in_test_app_dir { rake_task = Rake::Task[task] rake_task.reenable capture_stdout { rake_task.invoke(*args) } } end def in_test_app_dir(&block) return block.call if @in_dir begin pwd = Dir.pwd Dir.chdir AT @in_dir = true block.call ensure Dir.chdir pwd @in_dir = false end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
i18n-tasks-0.7.1 | spec/support/test_codebase.rb |
i18n-tasks-0.7.0 | spec/support/test_codebase.rb |