diff --git a/spec/samples/run_samples_spec.rb b/spec/samples/run_samples_spec.rb new file mode 100644 index 0000000..db6b46a --- /dev/null +++ b/spec/samples/run_samples_spec.rb @@ -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 diff --git a/spec/samples/samples_regression_spec.rb b/spec/samples/samples_regression_spec.rb index fb11fd1..4d95b87 100644 --- a/spec/samples/samples_regression_spec.rb +++ b/spec/samples/samples_regression_spec.rb @@ -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 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 33c8960..896b0f3 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -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