spec/spec/rails/spec_server_spec.rb in dchelimsky-rspec-rails-1.1.11.4 vs spec/spec/rails/spec_server_spec.rb in dchelimsky-rspec-rails-1.1.11.5
- old
+ new
@@ -1,96 +1,96 @@
-# require File.dirname(__FILE__) + '/../../spec_helper'
-#
-# describe "script/spec_server file", :shared => true do
-# attr_accessor :tmbundle_install_directory
-# attr_reader :animals_yml_path, :original_animals_content
-#
-# before do
-# @animals_yml_path = File.expand_path("#{RAILS_ROOT}/spec/fixtures/animals.yml")
-# @original_animals_content = File.read(animals_yml_path)
-# end
-#
-# after do
-# File.open(animals_yml_path, "w") do |f|
-# f.write original_animals_content
-# end
-# end
-#
-# after(:each) do
-# system "lsof -i tcp:8989 | sed /COMMAND/d | awk '{print $2}' | xargs kill"
-# end
-#
-# it "runs a spec" do
-# dir = File.dirname(__FILE__)
-# output = ""
-# Timeout.timeout(10) do
-# loop do
-# output = `#{RAILS_ROOT}/script/spec #{dir}/sample_spec.rb --drb 2>&1`
-# break unless output.include?("No server is running")
-# end
-# end
-#
-# if $?.exitstatus != 0 || output !~ /0 failures/
-# flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
-# end
-#
-# fixtures = YAML.load(@original_animals_content)
-# fixtures['pig']['name'] = "Piggy"
-#
-# File.open(animals_yml_path, "w") do |f|
-# f.write YAML.dump(fixtures)
-# end
-#
-# Timeout.timeout(10) do
-# loop do
-# output = `#{RAILS_ROOT}/script/spec #{dir}/sample_modified_fixture.rb --drb 2>&1`
-# break unless output.include?("No server is running")
-# end
-# end
-#
-# if $?.exitstatus != 0 || output !~ /0 failures/
-# flunk "command 'script/spec spec/sample_modified_fixture' failed\n#{output}"
-# end
-# end
-#
-# def start_spec_server
-# dir = File.dirname(__FILE__)
-# Thread.start do
-# system "cd #{RAILS_ROOT}; script/spec_server"
-# end
-#
-# file_content = ""
-# end
-# end
-#
-# describe "script/spec_server file without TextMate bundle" do
-# it_should_behave_like "script/spec_server file"
-# before(:each) do
-# start_spec_server
-# end
-# end
-#
-# describe "script/spec_server file with TextMate bundle" do
-# it_should_behave_like "script/spec_server file"
-# before(:each) do
-# dir = File.dirname(__FILE__)
-# @tmbundle_install_directory = File.expand_path("#{Dir.tmpdir}/Library/Application Support/TextMate/Bundles")
-# @bundle_name = "RSpec.tmbundle"
-# FileUtils.mkdir_p(tmbundle_install_directory)
-# bundle_dir = File.expand_path("#{dir}/../../../../../../#{@bundle_name}")
-# File.directory?(bundle_dir).should be_true
-# unless system(%Q|ln -s #{bundle_dir} "#{tmbundle_install_directory}"|)
-# raise "Creating link to Textmate Bundle"
-# end
-# start_spec_server
-# end
-#
-# after(:each) do
-# bundle_file_to_remove = "#{tmbundle_install_directory}/#{@bundle_name}"
-# if bundle_file_to_remove == "/"
-# raise "bundle file path resolved to '/' - could not call rm"
-# end
-# unless system(%Q|rm "#{bundle_file_to_remove}"|)
-# raise "Removing Textmate bundle link failed"
-# end
-# end
-# end
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "script/spec_server file", :shared => true do
+ attr_accessor :tmbundle_install_directory
+ attr_reader :animals_yml_path, :original_animals_content
+
+ before do
+ @animals_yml_path = File.expand_path("#{RAILS_ROOT}/spec/fixtures/animals.yml")
+ @original_animals_content = File.read(animals_yml_path)
+ end
+
+ after do
+ File.open(animals_yml_path, "w") do |f|
+ f.write original_animals_content
+ end
+ end
+
+ after(:each) do
+ system "lsof -i tcp:8989 | sed /COMMAND/d | awk '{print $2}' | xargs kill"
+ end
+
+ it "runs a spec" do
+ dir = File.expand_path(File.dirname(__FILE__))
+ output = ""
+ Timeout.timeout(10) do
+ loop do
+ output = `#{RAILS_ROOT}/script/spec #{dir}/sample_spec.rb --drb 2>&1`
+ break unless output.include?("No server is running")
+ end
+ end
+
+ if $?.exitstatus != 0 || output !~ /0 failures/
+ flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
+ end
+
+ fixtures = YAML.load(@original_animals_content)
+ fixtures['pig']['name'] = "Piggy"
+
+ File.open(animals_yml_path, "w") do |f|
+ f.write YAML.dump(fixtures)
+ end
+
+ Timeout.timeout(10) do
+ loop do
+ output = `#{RAILS_ROOT}/script/spec #{dir}/sample_modified_fixture.rb --drb 2>&1`
+ break unless output.include?("No server is running")
+ end
+ end
+
+ if $?.exitstatus != 0 || output !~ /0 failures/
+ flunk "command 'script/spec spec/sample_modified_fixture' failed\n#{output}"
+ end
+ end
+
+ def start_spec_server
+ dir = File.dirname(__FILE__)
+ Thread.start do
+ system "cd #{RAILS_ROOT}; script/spec_server"
+ end
+
+ file_content = ""
+ end
+end
+
+describe "script/spec_server file without TextMate bundle" do
+ it_should_behave_like "script/spec_server file"
+ before(:each) do
+ start_spec_server
+ end
+end
+
+describe "script/spec_server file with TextMate bundle" do
+ it_should_behave_like "script/spec_server file"
+ before(:each) do
+ dir = File.dirname(__FILE__)
+ @tmbundle_install_directory = File.expand_path("#{Dir.tmpdir}/Library/Application Support/TextMate/Bundles")
+ @bundle_name = "RSpec.tmbundle"
+ FileUtils.mkdir_p(tmbundle_install_directory)
+ bundle_dir = File.expand_path("#{dir}/../../../../../../#{@bundle_name}")
+ File.directory?(bundle_dir).should be_true
+ unless system(%Q|ln -s #{bundle_dir} "#{tmbundle_install_directory}"|)
+ raise "Creating link to Textmate Bundle"
+ end
+ start_spec_server
+ end
+
+ after(:each) do
+ bundle_file_to_remove = "#{tmbundle_install_directory}/#{@bundle_name}"
+ if bundle_file_to_remove == "/"
+ raise "bundle file path resolved to '/' - could not call rm"
+ end
+ unless system(%Q|rm "#{bundle_file_to_remove}"|)
+ raise "Removing Textmate bundle link failed"
+ end
+ end
+end