Parse and run ERB tags inside YAML config

This commit is contained in:
Ville Lautanala 2011-12-16 14:21:06 +02:00
parent 4e64480c69
commit 4c7a1f860d
2 changed files with 7 additions and 2 deletions

View File

@ -4,6 +4,7 @@ require 'coffee-script'
require 'rainbow'
require 'yaml'
require 'erb'
require 'sprockets'
@ -112,7 +113,7 @@ module Jasmine
def jasmine_config_data
raise JasmineConfigNotFound.new("Jasmine config not found. I tried #{@options[:jasmine_config]}.") if !File.file?(@options[:jasmine_config])
YAML.load_file(@options[:jasmine_config])
YAML.load(ERB.new(File.read(@options[:jasmine_config])).result(binding))
end
end
end

View File

@ -37,13 +37,17 @@ describe Jasmine::Headless::Runner do
context 'file exists' do
before do
File.open(Jasmine::Headless::Runner::RUNNER, 'w')
File.open(config_filename, 'w') { |fh| fh.print YAML.dump('test' => 'hello') }
File.open(config_filename, 'w') { |fh| fh.print YAML.dump('test' => 'hello', 'erb' => '<%= "erb" %>') }
end
it 'should load the jasmine config' do
runner.jasmine_config['test'].should == 'hello'
runner.jasmine_config['spec_dir'].should == 'spec/javascripts'
end
it 'should execute ERB in the config file' do
runner.jasmine_config['erb'].should == 'erb'
end
end
context 'file does not exist' do