spec/rake/funnel/tasks/quick_template_spec.rb in rake-funnel-0.3.2.pre vs spec/rake/funnel/tasks/quick_template_spec.rb in rake-funnel-0.4.0.pre

- old
+ new

@@ -1,62 +1,62 @@ -require 'tmpdir' - -include Rake -include Rake::Funnel::Support - -describe Rake::Funnel::Tasks::QuickTemplate do - before { - Task.clear - } - - describe 'defaults' do - its(:name) { should == :template } - its(:search_pattern) { should eq(%w(**/*.erb)) } - its(:context) { should kind_of?(Binding) } - end - - describe 'execution' do - let(:templates) { %w(1.template two/2.template) } - - let(:finder) { double(Finder).as_null_object } - let(:engine) { TemplateEngine } - - before { - allow(finder).to receive(:all_or_default).and_return(templates) - allow(Finder).to receive(:new).and_return(finder) - allow(engine).to receive(:render).and_return('file content') - allow(Rake).to receive(:rake_output_message) - allow(File).to receive(:read).and_return('template content') - allow(File).to receive(:write) - } - - subject! { described_class.new } - - before { - Task[subject.name].invoke - } - - it 'should report created files' do - templates.each do |template| - expect(Rake).to have_received(:rake_output_message).with("Creating file #{template.ext}") - end - end - - it 'should read all templates' do - templates.each do |template| - expect(File).to have_received(:read).with(template) - end - end - - it 'should render all templates' do - templates.each do |template| - expect(engine).to have_received(:render).with('template content', template, subject.context) - end - end - - it 'should write all files' do - templates.each do |template| - expect(File).to have_received(:write).with(template.ext, 'file content') - end - end - end -end +require 'tmpdir' + +include Rake +include Rake::Funnel::Support + +describe Rake::Funnel::Tasks::QuickTemplate do + before { + Task.clear + } + + describe 'defaults' do + its(:name) { should == :template } + its(:search_pattern) { should eq(%w(**/*.erb)) } + its(:context) { should be_an_instance_of(Binding) } + end + + describe 'execution' do + let(:templates) { %w(1.template two/2.template) } + + let(:finder) { double(Finder).as_null_object } + let(:engine) { TemplateEngine } + + before { + allow(finder).to receive(:all_or_default).and_return(templates) + allow(Finder).to receive(:new).and_return(finder) + allow(engine).to receive(:render).and_return('file content') + allow(Rake).to receive(:rake_output_message) + allow(File).to receive(:read).and_return('template content') + allow(File).to receive(:write) + } + + subject! { described_class.new } + + before { + Task[subject.name].invoke + } + + it 'should report created files' do + templates.each do |template| + expect(Rake).to have_received(:rake_output_message).with("Creating file #{template.ext}") + end + end + + it 'should read all templates' do + templates.each do |template| + expect(File).to have_received(:read).with(template) + end + end + + it 'should render all templates' do + templates.each do |template| + expect(engine).to have_received(:render).with('template content', template, subject.context) + end + end + + it 'should write all files' do + templates.each do |template| + expect(File).to have_received(:write).with(template.ext, 'file content') + end + end + end +end