Sha256: 52e12b9908d7092f59a7f3887a6edee0e27d530b108257129129333d9f144ca3

Contents?: true

Size: 911 Bytes

Versions: 9

Compression:

Stored size: 911 Bytes

Contents

require 'fileutils'
module TestCodebase
  extend self
  AT = 'tmp/test_codebase'

  DEFAULTS = {
      'config/locales/en.yml' => {'en' => {}}.to_yaml,
      'config/locales/es.yml' => {'es' => {}}.to_yaml
  }

  def setup(files)
    FileUtils.mkdir_p AT
    in_test_app_dir do
      DEFAULTS.merge(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)
    in_test_app_dir {
      rake_task = Rake::Task[task]
      rake_task.reenable
      capture_stdout { rake_task.invoke }
    }
  end

  def in_test_app_dir(&block)
    pwd = Dir.pwd
    Dir.chdir AT
    block.call
  ensure
    Dir.chdir pwd
  end

  private
  def capture_stdout
    out = StringIO.new
    $stdout = out
    yield
    out.string
  ensure
    $stdout = STDOUT
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
i18n-tasks-0.1.1 spec/support/test_codebase.rb
i18n-tasks-0.1.0 spec/support/test_codebase.rb
i18n-tasks-0.0.8 spec/support/test_codebase.rb
i18n-tasks-0.0.7 spec/support/test_codebase.rb
i18n-tasks-0.0.6 spec/support/test_codebase.rb
i18n-tasks-0.0.5 spec/support/test_codebase.rb
i18n-tasks-0.0.4 spec/support/test_codebase.rb
i18n-tasks-0.0.3 spec/support/test_codebase.rb
i18n-tasks-0.0.2 spec/support/test_codebase.rb