Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

cleanup and updates, test-unit and rspec working against latest maste…

…r of saucelabs-adapter
  • Loading branch information...
commit 9bc454f6a839025616a78faa03e76faa5c559807 1 parent 8fb89a9
Chad Woolley thewoolleyman authored
2  .rvmrc
View
@@ -3,4 +3,4 @@
export rvm_install_on_use_flag=1
export rvm_gemset_create_on_use_flag=1
#export rvm_archflags="-arch x86_64"
-rvm use 1.8.7-p299@saucelabs-canary
+rvm use ree-1.8.7-2010.02@saucelabs-canary
7 Gemfile
View
@@ -2,9 +2,10 @@ source :gemcutter
gem "rails", "2.3.5"
gem "saucelabs-adapter", ">= 0.8.22"
+#gem "saucelabs-adapter", :path => "/saucelabs-adapter" # for local testing - create a symlink to your working copy
gem "selenium-client", "1.2.18"
-gem "webrat", "0.6.0"
+gem "webrat", "0.7.3"
gem "json"
-gem "rspec"
-gem "rspec-rails"
+gem "rspec", "~> 1.3.0"
+gem "rspec-rails", "~> 1.3.0"
gem "mongrel"
30 Gemfile.lock
View
@@ -13,7 +13,6 @@ GEM
activesupport (2.3.5)
cgi_multipart_eof_fix (2.5.0)
daemons (1.1.0)
- diff-lcs (1.1.2)
fastthread (1.0.7)
gem_plugin (0.2.3)
json (1.4.6)
@@ -24,11 +23,13 @@ GEM
daemons (>= 1.0.3)
fastthread (>= 1.0.1)
gem_plugin (>= 0.2.3)
- net-ssh (2.0.23)
+ net-ssh (2.0.24)
net-ssh-gateway (1.0.1)
net-ssh (>= 1.99.1)
nokogiri (1.4.4)
rack (1.0.1)
+ rack-test (0.5.7)
+ rack (>= 1.0)
rails (2.3.5)
actionmailer (= 2.3.5)
actionpack (= 2.3.5)
@@ -39,16 +40,10 @@ GEM
rake (0.8.7)
rest-client (1.6.1)
mime-types (>= 1.16)
- rspec (2.1.0)
- rspec-core (~> 2.1.0)
- rspec-expectations (~> 2.1.0)
- rspec-mocks (~> 2.1.0)
- rspec-core (2.1.0)
- rspec-expectations (2.1.0)
- diff-lcs (~> 1.1.2)
- rspec-mocks (2.1.0)
- rspec-rails (2.1.0)
- rspec (~> 2.1.0)
+ rspec (1.3.1)
+ rspec-rails (1.3.3)
+ rack (>= 1.0.0)
+ rspec (= 1.3.1)
saucelabs-adapter (0.8.22)
lsof (>= 0.3.0)
net-ssh (>= 2.0.12)
@@ -56,9 +51,14 @@ GEM
rest-client (>= 1.5.0)
selenium-client (>= 1.2.17)
selenium-client (1.2.18)
+<<<<<<< HEAD
webrat (0.6.0)
+=======
+ webrat (0.7.3)
+>>>>>>> cleanup and updates, test-unit and rspec working against latest master of saucelabs-adapter
nokogiri (>= 1.2.0)
rack (>= 1.0)
+ rack-test (>= 0.5.3)
PLATFORMS
ruby
@@ -67,8 +67,8 @@ DEPENDENCIES
json
mongrel
rails (= 2.3.5)
- rspec
- rspec-rails
+ rspec (~> 1.3.0)
+ rspec-rails (~> 1.3.0)
saucelabs-adapter (>= 0.8.22)
selenium-client (= 1.2.18)
- webrat (= 0.6.0)
+ webrat (= 0.7.3)
2  config/environment.rb
View
@@ -26,7 +26,7 @@
# Skip frameworks you're not going to use. To use Rails without a database,
# you must remove the Active Record framework.
- # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
+ config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
# Activate observers that should always be running
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
4 config/environments/test.rb
View
@@ -25,4 +25,6 @@
# Use SQL instead of Active Record's schema dumper when creating the test database.
# This is necessary if your schema can't be completely dumped by the schema dumper,
# like if you have constraints or database-specific column types
-# config.active_record.schema_format = :sql
+# config.active_record.schema_format = :sql
+
+ config.gem 'rspec-rails', :version => '>= 1.3.3', :lib => false unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
7 db/seeds.rb
View
@@ -1,7 +0,0 @@
-# This file should contain all the record creation needed to seed the database with its default values.
-# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
-#
-# Examples:
-#
-# cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }])
-# Major.create(:name => 'Daley', :city => cities.first)
284 lib/tasks/rspec.rake
View
@@ -1,144 +1,144 @@
-#gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
-#rspec_gem_dir = nil
-#Dir["#{RAILS_ROOT}/vendor/gems/*"].each do |subdir|
-# rspec_gem_dir = subdir if subdir.gsub("#{RAILS_ROOT}/vendor/gems/","") =~ /^(\w+-)?rspec-(\d+)/ && File.exist?("#{subdir}/lib/spec/rake/spectask.rb")
-#end
-#rspec_plugin_dir = File.expand_path(File.dirname(__FILE__) + '/../../vendor/plugins/rspec')
-#
-#if rspec_gem_dir && (test ?d, rspec_plugin_dir)
-# raise "\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n"
-#end
-#
-#if rspec_gem_dir
-# $LOAD_PATH.unshift("#{rspec_gem_dir}/lib")
-#elsif File.exist?(rspec_plugin_dir)
-# $LOAD_PATH.unshift("#{rspec_plugin_dir}/lib")
-#end
+gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
+rspec_gem_dir = nil
+Dir["#{RAILS_ROOT}/vendor/gems/*"].each do |subdir|
+ rspec_gem_dir = subdir if subdir.gsub("#{RAILS_ROOT}/vendor/gems/","") =~ /^(\w+-)?rspec-(\d+)/ && File.exist?("#{subdir}/lib/spec/rake/spectask.rb")
+end
+rspec_plugin_dir = File.expand_path(File.dirname(__FILE__) + '/../../vendor/plugins/rspec')
+
+if rspec_gem_dir && (test ?d, rspec_plugin_dir)
+ raise "\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n"
+end
+
+if rspec_gem_dir
+ $LOAD_PATH.unshift("#{rspec_gem_dir}/lib")
+elsif File.exist?(rspec_plugin_dir)
+ $LOAD_PATH.unshift("#{rspec_plugin_dir}/lib")
+end
# Don't load rspec if running "rake gems:*"
-#unless ARGV.any? {|a| a =~ /^gems/}
-#
-#begin
-# require 'spec/rake/spectask'
-#rescue MissingSourceFile
-# module Spec
-# module Rake
-# class SpecTask
-# def initialize(name)
-# task name do
-# # if rspec-rails is a configured gem, this will output helpful material and exit ...
-# require File.expand_path(File.join(File.dirname(__FILE__),"..","..","config","environment"))
-#
-# # ... otherwise, do this:
-# raise <<-MSG
-#
-##{"*" * 80}
-#* You are trying to run an rspec rake task defined in
-#* #{__FILE__},
-#* but rspec can not be found in vendor/gems, vendor/plugins or system gems.
-##{"*" * 80}
-#MSG
-# end
-# end
-# end
-# end
-# end
-#end
-#
-#Rake.application.instance_variable_get('@tasks').delete('default')
-#
-#spec_prereq = File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? "db:test:prepare" : :noop
-#task :noop do
-#end
-#
-#task :default => :spec
-#task :stats => "spec:statsetup"
-#
-#desc "Run all specs in spec directory (excluding plugin specs)"
-#Spec::Rake::SpecTask.new(:spec => spec_prereq) do |t|
-# t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
-# t.spec_files = FileList['spec/**/*_spec.rb']
-#end
-#
-#namespace :spec do
-# desc "Run all specs in spec directory with RCov (excluding plugin specs)"
-# Spec::Rake::SpecTask.new(:rcov) do |t|
-# t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
-# t.spec_files = FileList['spec/**/*_spec.rb']
-# t.rcov = true
-# t.rcov_opts = lambda do
-# IO.readlines("#{RAILS_ROOT}/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
-# end
-# end
-#
-# desc "Print Specdoc for all specs (excluding plugin specs)"
-# Spec::Rake::SpecTask.new(:doc) do |t|
-# t.spec_opts = ["--format", "specdoc", "--dry-run"]
-# t.spec_files = FileList['spec/**/*_spec.rb']
-# end
-#
-# desc "Print Specdoc for all plugin examples"
-# Spec::Rake::SpecTask.new(:plugin_doc) do |t|
-# t.spec_opts = ["--format", "specdoc", "--dry-run"]
-# t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*')
-# end
-#
-# [:models, :controllers, :views, :helpers, :lib, :integration].each do |sub|
-# desc "Run the code examples in spec/#{sub}"
-# Spec::Rake::SpecTask.new(sub => spec_prereq) do |t|
-# t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
-# t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
-# end
-# end
-#
-# desc "Run the code examples in vendor/plugins (except RSpec's own)"
-# Spec::Rake::SpecTask.new(:plugins => spec_prereq) do |t|
-# t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
-# t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude("vendor/plugins/rspec-rails/*")
-# end
-#
-# namespace :plugins do
-# desc "Runs the examples for rspec_on_rails"
-# Spec::Rake::SpecTask.new(:rspec_on_rails) do |t|
-# t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
-# t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*_spec.rb']
-# end
-# end
-#
-# # Setup specs for stats
-# task :statsetup do
-# require 'code_statistics'
-# ::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
-# ::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views')
-# ::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
-# ::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
-# ::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib')
-# ::STATS_DIRECTORIES << %w(Routing\ specs spec/routing) if File.exist?('spec/routing')
-# ::STATS_DIRECTORIES << %w(Integration\ specs spec/integration) if File.exist?('spec/integration')
-# ::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models')
-# ::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views')
-# ::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers')
-# ::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers')
-# ::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib')
-# ::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing')
-# ::CodeStatistics::TEST_TYPES << "Integration specs" if File.exist?('spec/integration')
-# end
-#
-# namespace :db do
-# namespace :fixtures do
-# desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z."
-# task :load => :environment do
-# ActiveRecord::Base.establish_connection(Rails.env)
-# base_dir = File.join(Rails.root, 'spec', 'fixtures')
-# fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
-#
-# require 'active_record/fixtures'
-# (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
-# Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
-# end
-# end
-# end
-# end
-#end
-#
-#end
+unless ARGV.any? {|a| a =~ /^gems/}
+
+begin
+ require 'spec/rake/spectask'
+rescue MissingSourceFile
+ module Spec
+ module Rake
+ class SpecTask
+ def initialize(name)
+ task name do
+ # if rspec-rails is a configured gem, this will output helpful material and exit ...
+ require File.expand_path(File.join(File.dirname(__FILE__),"..","..","config","environment"))
+
+ # ... otherwise, do this:
+ raise <<-MSG
+
+#{"*" * 80}
+* You are trying to run an rspec rake task defined in
+* #{__FILE__},
+* but rspec can not be found in vendor/gems, vendor/plugins or system gems.
+#{"*" * 80}
+MSG
+ end
+ end
+ end
+ end
+ end
+end
+
+Rake.application.instance_variable_get('@tasks').delete('default')
+
+spec_prereq = File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? "db:test:prepare" : :noop
+task :noop do
+end
+
+task :default => :spec
+task :stats => "spec:statsetup"
+
+desc "Run all specs in spec directory (excluding plugin specs)"
+Spec::Rake::SpecTask.new(:spec => spec_prereq) do |t|
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
+ t.spec_files = FileList['spec/**/*_spec.rb']
+end
+
+namespace :spec do
+ desc "Run all specs in spec directory with RCov (excluding plugin specs)"
+ Spec::Rake::SpecTask.new(:rcov) do |t|
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
+ t.spec_files = FileList['spec/**/*_spec.rb']
+ t.rcov = true
+ t.rcov_opts = lambda do
+ IO.readlines("#{RAILS_ROOT}/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
+ end
+ end
+
+ desc "Print Specdoc for all specs (excluding plugin specs)"
+ Spec::Rake::SpecTask.new(:doc) do |t|
+ t.spec_opts = ["--format", "specdoc", "--dry-run"]
+ t.spec_files = FileList['spec/**/*_spec.rb']
+ end
+
+ desc "Print Specdoc for all plugin examples"
+ Spec::Rake::SpecTask.new(:plugin_doc) do |t|
+ t.spec_opts = ["--format", "specdoc", "--dry-run"]
+ t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*')
+ end
+
+ [:models, :controllers, :views, :helpers, :lib, :integration].each do |sub|
+ desc "Run the code examples in spec/#{sub}"
+ Spec::Rake::SpecTask.new(sub => spec_prereq) do |t|
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
+ t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
+ end
+ end
+
+ desc "Run the code examples in vendor/plugins (except RSpec's own)"
+ Spec::Rake::SpecTask.new(:plugins => spec_prereq) do |t|
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
+ t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude("vendor/plugins/rspec-rails/*")
+ end
+
+ namespace :plugins do
+ desc "Runs the examples for rspec_on_rails"
+ Spec::Rake::SpecTask.new(:rspec_on_rails) do |t|
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
+ t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*_spec.rb']
+ end
+ end
+
+ # Setup specs for stats
+ task :statsetup do
+ require 'code_statistics'
+ ::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
+ ::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views')
+ ::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
+ ::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
+ ::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib')
+ ::STATS_DIRECTORIES << %w(Routing\ specs spec/routing) if File.exist?('spec/routing')
+ ::STATS_DIRECTORIES << %w(Integration\ specs spec/integration) if File.exist?('spec/integration')
+ ::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models')
+ ::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views')
+ ::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers')
+ ::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers')
+ ::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib')
+ ::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing')
+ ::CodeStatistics::TEST_TYPES << "Integration specs" if File.exist?('spec/integration')
+ end
+
+ namespace :db do
+ namespace :fixtures do
+ desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z."
+ task :load => :environment do
+ ActiveRecord::Base.establish_connection(Rails.env)
+ base_dir = File.join(Rails.root, 'spec', 'fixtures')
+ fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
+
+ require 'active_record/fixtures'
+ (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
+ Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
+ end
+ end
+ end
+ end
+end
+
+end
1  spec/integration/selenium_helper.rb
View
@@ -5,6 +5,7 @@
require 'spec/rails'
require "webrat"
require 'saucelabs_adapter'
+require 'saucelabs_adapter/rspec_adapter'
require dir + '/../spec_helper'
Webrat.configure do |config|
40 spec/spec_helper.rb
View
@@ -12,3 +12,43 @@
# in ./support/ and its subdirectories.
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
+Spec::Runner.configure do |config|
+ # If you're not using ActiveRecord you should remove these
+ # lines, delete config/database.yml and disable :active_record
+ # in your config/boot.rb
+# config.use_transactional_fixtures = true
+# config.use_instantiated_fixtures = false
+# config.fixture_path = RAILS_ROOT + '/spec/fixtures/'
+
+ # == Fixtures
+ #
+ # You can declare fixtures for each example_group like this:
+ # describe "...." do
+ # fixtures :table_a, :table_b
+ #
+ # Alternatively, if you prefer to declare them only once, you can
+ # do so right here. Just uncomment the next line and replace the fixture
+ # names with your fixtures.
+ #
+ # config.global_fixtures = :table_a, :table_b
+ #
+ # If you declare global fixtures, be aware that they will be declared
+ # for all of your examples, even those that don't use them.
+ #
+ # You can also declare which fixtures to use (for example fixtures for test/fixtures):
+ #
+ # config.fixture_path = RAILS_ROOT + '/spec/fixtures/'
+ #
+ # == Mock Framework
+ #
+ # RSpec uses its own mocking framework by default. If you prefer to
+ # use mocha, flexmock or RR, uncomment the appropriate line:
+ #
+ # config.mock_with :mocha
+ # config.mock_with :flexmock
+ # config.mock_with :rr
+ #
+ # == Notes
+ #
+ # For more information take a look at Spec::Runner::Configuration and Spec::Runner
+end
3  test/selenium/selenium_suite.rb
View
@@ -1,7 +1,8 @@
-require File.join(File.dirname(__FILE__), '..', 'test_helper')
+require File.expand_path(File.join(File.dirname(__FILE__), '..', 'test_helper'))
require 'test/unit/ui/console/testrunner'
require 'webrat'
require 'saucelabs_adapter'
+require 'saucelabs_adapter/test_unit_adapter'
Webrat.configure do |config|
config.mode = :selenium
BIN  vendor/cache/diff-lcs-1.1.2.gem
View
Binary file not shown
BIN  vendor/cache/net-ssh-2.0.23.gem
View
Binary file not shown
BIN  vendor/cache/net-ssh-2.0.24.gem
View
Binary file not shown
BIN  vendor/cache/rack-test-0.5.7.gem
View
Binary file not shown
BIN  vendor/cache/rspec-1.3.1.gem
View
Binary file not shown
BIN  vendor/cache/rspec-2.1.0.gem
View
Binary file not shown
BIN  vendor/cache/rspec-core-2.1.0.gem
View
Binary file not shown
BIN  vendor/cache/rspec-expectations-2.1.0.gem
View
Binary file not shown
BIN  vendor/cache/rspec-mocks-2.1.0.gem
View
Binary file not shown
BIN  vendor/cache/rspec-rails-1.3.3.gem
View
Binary file not shown
BIN  vendor/cache/rspec-rails-2.1.0.gem
View
Binary file not shown
BIN  vendor/cache/webrat-0.6.0.gem
View
Binary file not shown
BIN  vendor/cache/webrat-0.7.3.gem
View
Binary file not shown
Please sign in to comment.
Something went wrong with that request. Please try again.