a46852504c
This commit adds an interface that allows mustache templates to get I18n translation strings, transform any arguments that may be present in them, and then render them on the frontend. This is our first real step to getting internationalizing the Gollum frontend.
98 lines
2.1 KiB
Ruby
98 lines
2.1 KiB
Ruby
require 'rubygems'
|
|
require 'rack/test'
|
|
require 'test/unit'
|
|
require 'shoulda'
|
|
require 'mocha/setup'
|
|
require 'fileutils'
|
|
require 'minitest/reporters'
|
|
require 'minitest/spec'
|
|
require 'twitter_cldr'
|
|
require 'tmpdir'
|
|
|
|
# Silence locale validation warning
|
|
require 'i18n'
|
|
I18n.enforce_available_locales = false
|
|
|
|
MiniTest::Reporters.use!
|
|
|
|
dir = File.dirname(File.expand_path(__FILE__))
|
|
$LOAD_PATH.unshift(File.join(dir, '..', 'lib'))
|
|
$LOAD_PATH.unshift(dir)
|
|
|
|
module Gollum
|
|
end
|
|
if ENV['GIT_ADAPTER']
|
|
Gollum::GIT_ADAPTER = ENV['GIT_ADAPTER']
|
|
else
|
|
Gollum::GIT_ADAPTER = RUBY_PLATFORM == 'java' ? 'rjgit' : 'rugged'
|
|
end
|
|
|
|
ENV['RACK_ENV'] = 'test'
|
|
require 'gollum'
|
|
require 'gollum/app'
|
|
|
|
# Disable the metadata feature
|
|
$METADATA = false
|
|
|
|
# Make sure we're in the test dir, the tests expect that to be the current
|
|
# directory.
|
|
TEST_DIR = File.join(File.dirname(__FILE__), *%w[.])
|
|
|
|
def testpath(path)
|
|
File.join(TEST_DIR, path)
|
|
end
|
|
|
|
def cloned_testpath(path, bare = false)
|
|
repo = File.expand_path(testpath(path))
|
|
tmpdir = Dir.mktmpdir(self.class.name)
|
|
bare = bare ? "--bare" : ""
|
|
redirect = Gem.win_platform? ? '' : '2>/dev/null'
|
|
%x{git clone #{bare} '#{repo}' #{tmpdir} #{redirect}}
|
|
tmpdir
|
|
end
|
|
|
|
def commit_details
|
|
{ :message => "Did something at #{Time.now}",
|
|
:name => "Tom Preston-Werner",
|
|
:email => "tom@github.com" }
|
|
end
|
|
|
|
def normal(text)
|
|
text.gsub!(' ', '')
|
|
text.gsub!("\n", '')
|
|
text
|
|
end
|
|
|
|
# test/spec/mini 3
|
|
# http://gist.github.com/25455
|
|
# chris@ozmm.org
|
|
# file:lib/test/spec/mini.rb
|
|
def context(*args, &block)
|
|
return super unless (name = args.first) && block
|
|
require 'test/unit'
|
|
klass = Class.new(defined?(ActiveSupport::TestCase) ? ActiveSupport::TestCase : Test::Unit::TestCase) do
|
|
def self.test(name, &block)
|
|
define_method("test_#{name.gsub(/\W/, '_')}", &block) if block
|
|
end
|
|
|
|
def self.xtest(*args)
|
|
end
|
|
|
|
def self.setup(&block)
|
|
define_method(:setup, &block)
|
|
end
|
|
|
|
def self.teardown(&block)
|
|
define_method(:teardown, &block)
|
|
end
|
|
end
|
|
(
|
|
class << klass;
|
|
self
|
|
end).send(:define_method, :name) { name.gsub(/\W/, '_') }
|
|
$contexts << klass
|
|
klass.class_eval &block
|
|
end
|
|
|
|
$contexts = []
|