Refactor spec runners to be separate tests

dev
Andy Meneely 2015-12-13 20:36:13 -05:00
parent 097c00d5c1
commit 90f319e9f5
3 changed files with 26 additions and 13 deletions

View File

@ -0,0 +1,17 @@
require 'spec_helper'
require 'squib'
require 'pp'
describe "Squib samples" do
Dir["#{samples_dir}/**/*.rb"].each do |sample|
it "executes #{sample} with no errors", slow: true do
allow(Squib.logger).to receive(:warn) {}
allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new)
Dir.chdir(File.dirname(sample)) do
load sample
end
end
end
end

View File

@ -3,25 +3,13 @@ require 'squib'
require 'pp'
describe "Squib samples" do
@SAMPLES_DIR = "#{File.expand_path(File.dirname(__FILE__))}/../../samples/"
let(:samples_dir) { "#{File.expand_path(File.dirname(__FILE__))}/../../samples/" }
around(:each) do |example|
Dir.chdir(samples_dir) do
example.run
end
end
Dir["#{@SAMPLES_DIR}/**/*.rb"].each do |sample|
it "should execute #{sample} with no errors", slow: true do
allow(Squib.logger).to receive(:warn) {}
allow(ProgressBar).to receive(:create).and_return(Squib::DoNothing.new)
Dir.chdir(File.dirname(sample)) do
load sample
end
end
end
# This test could use some explanation
# Much of the development of Squib has been sample-driven. Every time I want
# new syntax or feature, I write a sample, get it working, and then write

View File

@ -16,6 +16,14 @@ RSpec.configure do |config|
end
end
def tmp_dir
"#{File.expand_path(File.dirname(__FILE__))}/../tmp"
end
def samples_dir
File.expand_path("#{File.dirname(__FILE__)}/../samples")
end
def layout_file(str)
"#{File.expand_path(File.dirname(__FILE__))}/data/layouts/#{str}"
end