wrong 0.4.2-java → 0.4.3-java
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/wrong/adapters/rspec.rb +36 -15
- data/lib/wrong/version.rb +1 -1
- data/test/adapters/railsapp/app/controllers/application_controller.rb +3 -0
- data/test/adapters/railsapp/app/helpers/application_helper.rb +2 -0
- data/test/adapters/railsapp/autotest/discover.rb +2 -0
- data/test/adapters/railsapp/config/application.rb +42 -0
- data/test/adapters/railsapp/config/boot.rb +13 -0
- data/test/adapters/railsapp/config/environment.rb +5 -0
- data/test/adapters/railsapp/config/environments/development.rb +26 -0
- data/test/adapters/railsapp/config/environments/production.rb +49 -0
- data/test/adapters/railsapp/config/environments/test.rb +35 -0
- data/test/adapters/railsapp/config/initializers/backtrace_silencers.rb +7 -0
- data/test/adapters/railsapp/config/initializers/inflections.rb +10 -0
- data/test/adapters/railsapp/config/initializers/mime_types.rb +5 -0
- data/test/adapters/railsapp/config/initializers/secret_token.rb +7 -0
- data/test/adapters/railsapp/config/initializers/session_store.rb +8 -0
- data/test/adapters/railsapp/config/routes.rb +58 -0
- data/test/adapters/railsapp/db/seeds.rb +7 -0
- data/test/adapters/railsapp/spec/spec_helper.rb +28 -0
- data/test/adapters/railsapp/spec/wrong_spec.rb +8 -0
- data/test/adapters/rspec_rails_test.rb +58 -0
- data/test/adapters/rspec_test.rb +0 -61
- data/test/test_helper.rb +20 -1
- metadata +42 -4
data/lib/wrong/adapters/rspec.rb
CHANGED
@@ -1,21 +1,42 @@
|
|
1
1
|
require "wrong"
|
2
2
|
|
3
|
-
if Object.const_defined? :
|
4
|
-
|
5
|
-
include Wrong
|
3
|
+
if Object.const_defined? :RSpec
|
4
|
+
# RSpec 2
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
if RSpec.const_defined? :Rails
|
7
|
+
# RSpec 2 plus Rails 3
|
8
|
+
module RSpec::Rails::TestUnitAssertionAdapter
|
9
|
+
included do
|
10
|
+
define_assertion_delegators
|
11
|
+
class_eval do
|
12
|
+
remove_method :assert
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
module RSpec
|
19
|
+
module Core
|
20
|
+
class ExampleGroup
|
21
|
+
include Wrong
|
22
|
+
|
23
|
+
def failure_class
|
24
|
+
RSpec::Expectations::ExpectationNotMetError
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
elsif Object.const_defined? :Spec
|
31
|
+
# RSpec 1
|
32
|
+
Spec::Runner.configure do |config|
|
33
|
+
include Wrong
|
34
|
+
|
35
|
+
def failure_class
|
36
|
+
Spec::Expectations::ExpectationNotMetError
|
37
|
+
end
|
38
|
+
end
|
14
39
|
|
15
|
-
def failure_class
|
16
|
-
RSpec::Expectations::ExpectationNotMetError
|
17
|
-
end
|
18
|
-
end
|
19
40
|
else
|
20
|
-
|
41
|
+
raise "Wrong's RSpec adapter can't find RSpec. Please require 'spec' or 'rspec' before requiring 'wrong/adapters/rspec'."
|
21
42
|
end
|
data/lib/wrong/version.rb
CHANGED
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path('../boot', __FILE__)
|
2
|
+
|
3
|
+
require 'rails/all'
|
4
|
+
|
5
|
+
# If you have a Gemfile, require the gems listed there, including any gems
|
6
|
+
# you've limited to :test, :development, or :production.
|
7
|
+
Bundler.require(:default, Rails.env) if defined?(Bundler)
|
8
|
+
|
9
|
+
module Railsapp
|
10
|
+
class Application < Rails::Application
|
11
|
+
# Settings in config/environments/* take precedence over those specified here.
|
12
|
+
# Application configuration should go into files in config/initializers
|
13
|
+
# -- all .rb files in that directory are automatically loaded.
|
14
|
+
|
15
|
+
# Custom directories with classes and modules you want to be autoloadable.
|
16
|
+
# config.autoload_paths += %W(#{config.root}/extras)
|
17
|
+
|
18
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
19
|
+
# :all can be used as a placeholder for all plugins not explicitly named.
|
20
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
21
|
+
|
22
|
+
# Activate observers that should always be running.
|
23
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
24
|
+
|
25
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
26
|
+
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
27
|
+
# config.time_zone = 'Central Time (US & Canada)'
|
28
|
+
|
29
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
30
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
31
|
+
# config.i18n.default_locale = :de
|
32
|
+
|
33
|
+
# JavaScript files you want as :defaults (application.js is always included).
|
34
|
+
config.action_view.javascript_expansions[:defaults] = %w()
|
35
|
+
|
36
|
+
# Configure the default encoding used in templates for Ruby 1.9.
|
37
|
+
config.encoding = "utf-8"
|
38
|
+
|
39
|
+
# Configure sensitive parameters which will be filtered from the log file.
|
40
|
+
config.filter_parameters += [:password]
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
|
3
|
+
# Set up gems listed in the Gemfile.
|
4
|
+
gemfile = File.expand_path('../../Gemfile', __FILE__)
|
5
|
+
begin
|
6
|
+
ENV['BUNDLE_GEMFILE'] = gemfile
|
7
|
+
require 'bundler'
|
8
|
+
Bundler.setup
|
9
|
+
rescue Bundler::GemNotFound => e
|
10
|
+
STDERR.puts e.message
|
11
|
+
STDERR.puts "Try running `bundle install`."
|
12
|
+
exit!
|
13
|
+
end if File.exist?(gemfile)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Railsapp::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
3
|
+
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the webserver when you make code changes.
|
7
|
+
config.cache_classes = false
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
config.action_view.debug_rjs = true
|
15
|
+
config.action_controller.perform_caching = false
|
16
|
+
|
17
|
+
# Don't care if the mailer can't send
|
18
|
+
config.action_mailer.raise_delivery_errors = false
|
19
|
+
|
20
|
+
# Print deprecation notices to the Rails logger
|
21
|
+
config.active_support.deprecation = :log
|
22
|
+
|
23
|
+
# Only use best-standards-support built into browsers
|
24
|
+
config.action_dispatch.best_standards_support = :builtin
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
Railsapp::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
3
|
+
|
4
|
+
# The production environment is meant for finished, "live" apps.
|
5
|
+
# Code is not reloaded between requests
|
6
|
+
config.cache_classes = true
|
7
|
+
|
8
|
+
# Full error reports are disabled and caching is turned on
|
9
|
+
config.consider_all_requests_local = false
|
10
|
+
config.action_controller.perform_caching = true
|
11
|
+
|
12
|
+
# Specifies the header that your server uses for sending files
|
13
|
+
config.action_dispatch.x_sendfile_header = "X-Sendfile"
|
14
|
+
|
15
|
+
# For nginx:
|
16
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
|
17
|
+
|
18
|
+
# If you have no front-end server that supports something like X-Sendfile,
|
19
|
+
# just comment this out and Rails will serve the files
|
20
|
+
|
21
|
+
# See everything in the log (default is :info)
|
22
|
+
# config.log_level = :debug
|
23
|
+
|
24
|
+
# Use a different logger for distributed setups
|
25
|
+
# config.logger = SyslogLogger.new
|
26
|
+
|
27
|
+
# Use a different cache store in production
|
28
|
+
# config.cache_store = :mem_cache_store
|
29
|
+
|
30
|
+
# Disable Rails's static asset server
|
31
|
+
# In production, Apache or nginx will already do this
|
32
|
+
config.serve_static_assets = false
|
33
|
+
|
34
|
+
# Enable serving of images, stylesheets, and javascripts from an asset server
|
35
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
36
|
+
|
37
|
+
# Disable delivery errors, bad email addresses will be ignored
|
38
|
+
# config.action_mailer.raise_delivery_errors = false
|
39
|
+
|
40
|
+
# Enable threaded mode
|
41
|
+
# config.threadsafe!
|
42
|
+
|
43
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
44
|
+
# the I18n.default_locale when a translation can not be found)
|
45
|
+
config.i18n.fallbacks = true
|
46
|
+
|
47
|
+
# Send deprecation notices to registered listeners
|
48
|
+
config.active_support.deprecation = :notify
|
49
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Railsapp::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
3
|
+
|
4
|
+
# The test environment is used exclusively to run your application's
|
5
|
+
# test suite. You never need to work with it otherwise. Remember that
|
6
|
+
# your test database is "scratch space" for the test suite and is wiped
|
7
|
+
# and recreated between test runs. Don't rely on the data there!
|
8
|
+
config.cache_classes = true
|
9
|
+
|
10
|
+
# Log error messages when you accidentally call methods on nil.
|
11
|
+
config.whiny_nils = true
|
12
|
+
|
13
|
+
# Show full error reports and disable caching
|
14
|
+
config.consider_all_requests_local = true
|
15
|
+
config.action_controller.perform_caching = false
|
16
|
+
|
17
|
+
# Raise exceptions instead of rendering exception templates
|
18
|
+
config.action_dispatch.show_exceptions = false
|
19
|
+
|
20
|
+
# Disable request forgery protection in test environment
|
21
|
+
config.action_controller.allow_forgery_protection = false
|
22
|
+
|
23
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
24
|
+
# The :test delivery method accumulates sent emails in the
|
25
|
+
# ActionMailer::Base.deliveries array.
|
26
|
+
config.action_mailer.delivery_method = :test
|
27
|
+
|
28
|
+
# Use SQL instead of Active Record's schema dumper when creating the test database.
|
29
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
30
|
+
# like if you have constraints or database-specific column types
|
31
|
+
# config.active_record.schema_format = :sql
|
32
|
+
|
33
|
+
# Print deprecation notices to the stderr
|
34
|
+
config.active_support.deprecation = :stderr
|
35
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
4
|
+
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
5
|
+
|
6
|
+
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
7
|
+
# Rails.backtrace_cleaner.remove_silencers!
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Add new inflection rules using the following format
|
4
|
+
# (all these examples are active by default):
|
5
|
+
# ActiveSupport::Inflector.inflections do |inflect|
|
6
|
+
# inflect.plural /^(ox)$/i, '\1en'
|
7
|
+
# inflect.singular /^(ox)en/i, '\1'
|
8
|
+
# inflect.irregular 'person', 'people'
|
9
|
+
# inflect.uncountable %w( fish sheep )
|
10
|
+
# end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
# Make sure the secret is at least 30 characters and all random,
|
6
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
7
|
+
Railsapp::Application.config.secret_token = 'c70ec52a76ff610e2e1630245d880922ed317debad0d2cfdab8744de26c3ddcc9379f651877b0cf51905efd285c1d0bdabd3a5c36572d245d81a98c763c2822b'
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
Railsapp::Application.config.session_store :cookie_store, :key => '_railsapp_session'
|
4
|
+
|
5
|
+
# Use the database for sessions instead of the cookie-based default,
|
6
|
+
# which shouldn't be used to store highly confidential information
|
7
|
+
# (create the session table with "rake db:sessions:create")
|
8
|
+
# Railsapp::Application.config.session_store :active_record_store
|
@@ -0,0 +1,58 @@
|
|
1
|
+
Railsapp::Application.routes.draw do
|
2
|
+
# The priority is based upon order of creation:
|
3
|
+
# first created -> highest priority.
|
4
|
+
|
5
|
+
# Sample of regular route:
|
6
|
+
# match 'products/:id' => 'catalog#view'
|
7
|
+
# Keep in mind you can assign values other than :controller and :action
|
8
|
+
|
9
|
+
# Sample of named route:
|
10
|
+
# match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
|
11
|
+
# This route can be invoked with purchase_url(:id => product.id)
|
12
|
+
|
13
|
+
# Sample resource route (maps HTTP verbs to controller actions automatically):
|
14
|
+
# resources :products
|
15
|
+
|
16
|
+
# Sample resource route with options:
|
17
|
+
# resources :products do
|
18
|
+
# member do
|
19
|
+
# get 'short'
|
20
|
+
# post 'toggle'
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
# collection do
|
24
|
+
# get 'sold'
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
|
28
|
+
# Sample resource route with sub-resources:
|
29
|
+
# resources :products do
|
30
|
+
# resources :comments, :sales
|
31
|
+
# resource :seller
|
32
|
+
# end
|
33
|
+
|
34
|
+
# Sample resource route with more complex sub-resources
|
35
|
+
# resources :products do
|
36
|
+
# resources :comments
|
37
|
+
# resources :sales do
|
38
|
+
# get 'recent', :on => :collection
|
39
|
+
# end
|
40
|
+
# end
|
41
|
+
|
42
|
+
# Sample resource route within a namespace:
|
43
|
+
# namespace :admin do
|
44
|
+
# # Directs /admin/products/* to Admin::ProductsController
|
45
|
+
# # (app/controllers/admin/products_controller.rb)
|
46
|
+
# resources :products
|
47
|
+
# end
|
48
|
+
|
49
|
+
# You can have the root of your site routed with "root"
|
50
|
+
# just remember to delete public/index.html.
|
51
|
+
# root :to => "welcome#index"
|
52
|
+
|
53
|
+
# See how all your routes lay out with "rake routes"
|
54
|
+
|
55
|
+
# This is a legacy wild controller route that's not recommended for RESTful applications.
|
56
|
+
# Note: This route will make all actions in every controller accessible via GET requests.
|
57
|
+
# match ':controller(/:action(/:id(.:format)))'
|
58
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# This file should contain all the record creation needed to seed the database with its default values.
|
2
|
+
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
|
3
|
+
#
|
4
|
+
# Examples:
|
5
|
+
#
|
6
|
+
# cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }])
|
7
|
+
# Mayor.create(:name => 'Daley', :city => cities.first)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
2
|
+
ENV["RAILS_ENV"] ||= 'test'
|
3
|
+
require File.expand_path("../../config/environment", __FILE__)
|
4
|
+
require 'rspec/rails'
|
5
|
+
require "wrong/adapters/rspec"
|
6
|
+
|
7
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
8
|
+
# in spec/support/ and its subdirectories.
|
9
|
+
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
|
10
|
+
|
11
|
+
RSpec.configure do |config|
|
12
|
+
# == Mock Framework
|
13
|
+
#
|
14
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
15
|
+
#
|
16
|
+
# config.mock_with :mocha
|
17
|
+
# config.mock_with :flexmock
|
18
|
+
# config.mock_with :rr
|
19
|
+
config.mock_with :rspec
|
20
|
+
|
21
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
22
|
+
config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
23
|
+
|
24
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
25
|
+
# examples within a transaction, remove the following line or assign false
|
26
|
+
# instead of true.
|
27
|
+
config.use_transactional_fixtures = true
|
28
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
here = File.expand_path(File.dirname(__FILE__))
|
2
|
+
|
3
|
+
require "open3"
|
4
|
+
require "fileutils"
|
5
|
+
|
6
|
+
require "./test/test_helper"
|
7
|
+
require "wrong/adapters/minitest"
|
8
|
+
|
9
|
+
include Wrong
|
10
|
+
|
11
|
+
# If a new version of Rails comes along, alter and then run the script in this directory
|
12
|
+
# called rspec-rails-generate.sh -- if you dare
|
13
|
+
|
14
|
+
|
15
|
+
if RUBY_VERSION == "1.9.2" # too many issues with other versions
|
16
|
+
describe "testing rspec-rails" do
|
17
|
+
|
18
|
+
[2].each do |rspec_version|
|
19
|
+
it "in version #{rspec_version}" do
|
20
|
+
railsapp_dir = "#{here}/railsapp"
|
21
|
+
|
22
|
+
unless File.exist?(railsapp_dir)
|
23
|
+
Dir.chdir(here) do
|
24
|
+
clear_bundler_env
|
25
|
+
sys "sh ./railsapp-gen.sh"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
spec_output = nil
|
30
|
+
Dir.chdir(railsapp_dir) do
|
31
|
+
clear_bundler_env
|
32
|
+
FileUtils.rm "#{railsapp_dir}/Gemfile.lock", :force => true
|
33
|
+
|
34
|
+
# todo: extract into common function
|
35
|
+
sys "bundle check" do |output|
|
36
|
+
unless output == "The Gemfile's dependencies are satisfied\n"
|
37
|
+
sys "bundle install --gemfile=#{railsapp_dir}/Gemfile"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# todo: extract into common function
|
42
|
+
sys "bundle list" do |output|
|
43
|
+
lines = output.split("\n")
|
44
|
+
lines.grep(/rspec/) do |line|
|
45
|
+
assert { line =~ /rspec[-\w]* \(#{rspec_version}\.[\w.]*\)/ }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
spec_output = sys "rspec spec/wrong_spec.rb",
|
50
|
+
(rspec_version == 1 || RUBY_VERSION =~ /^1\.8\./ || RUBY_VERSION == '1.9.1' ? nil : 1) # RSpec v1 exits with 0 on failure :-(
|
51
|
+
end
|
52
|
+
|
53
|
+
assert { spec_output.include? "1 example, 1 failure" }
|
54
|
+
assert { spec_output.include? "Expected ((1 + 1) == 3), but" }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/test/adapters/rspec_test.rb
CHANGED
@@ -11,28 +11,6 @@ include Wrong
|
|
11
11
|
# Okay, this looks like RSpec but it's actually minitest
|
12
12
|
describe "testing rspec" do
|
13
13
|
|
14
|
-
def sys(cmd, expected_status = 0)
|
15
|
-
start_time = Time.now
|
16
|
-
$stderr.print cmd
|
17
|
-
Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thread|
|
18
|
-
# in Ruby 1.8, wait_thread is nil :-( so just pretend the process was successful (status 0)
|
19
|
-
exit_status = (wait_thread.value.exitstatus if wait_thread) || 0
|
20
|
-
output = stdout.read + stderr.read
|
21
|
-
unless expected_status.nil?
|
22
|
-
assert { output and exit_status == expected_status }
|
23
|
-
end
|
24
|
-
yield output if block_given?
|
25
|
-
output
|
26
|
-
end
|
27
|
-
ensure
|
28
|
-
$stderr.puts " (#{"%.2f" % (Time.now - start_time)} sec)"
|
29
|
-
end
|
30
|
-
|
31
|
-
def clear_bundler_env
|
32
|
-
# Bundler inherits its environment by default, so clear it here
|
33
|
-
%w{BUNDLE_PATH BUNDLE_BIN_PATH BUNDLE_GEMFILE}.each { |var| ENV.delete(var) }
|
34
|
-
end
|
35
|
-
|
36
14
|
[1, 2].each do |rspec_version|
|
37
15
|
it "version #{rspec_version}" do
|
38
16
|
dir = "#{here}/rspec#{rspec_version}"
|
@@ -63,42 +41,3 @@ describe "testing rspec" do
|
|
63
41
|
end
|
64
42
|
end
|
65
43
|
end
|
66
|
-
|
67
|
-
=begin
|
68
|
-
# I would use
|
69
|
-
# out, err = capturing(:stdout, :stderr) do
|
70
|
-
# but minitest does its own arcane stream munging and it's not working
|
71
|
-
|
72
|
-
out = StringIO.new
|
73
|
-
err = StringIO.new
|
74
|
-
Spec::Runner.use(Spec::Runner::Options.new(out, err))
|
75
|
-
|
76
|
-
module RSpecWrapper
|
77
|
-
include Spec::DSL::Main
|
78
|
-
describe "inside rspec land" do
|
79
|
-
it "works" do
|
80
|
-
sky = "blue"
|
81
|
-
assert { sky == "green" }
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
Spec::Runner.options.parse_format("nested")
|
87
|
-
Spec::Runner.options.run_examples
|
88
|
-
|
89
|
-
assert(err.string.index(<<-RSPEC) == 0, "make sure the rspec formatter was used")
|
90
|
-
inside rspec land
|
91
|
-
works (FAILED - 1)
|
92
|
-
|
93
|
-
1)
|
94
|
-
'inside rspec land works' FAILED
|
95
|
-
RSPEC
|
96
|
-
|
97
|
-
failures = Spec::Runner.options.reporter.instance_variable_get(:@failures) # todo: use my own reporter?
|
98
|
-
assert !failures.empty?
|
99
|
-
exception = failures.first.exception
|
100
|
-
assert(exception.is_a?(Spec::Expectations::ExpectationNotMetError))
|
101
|
-
assert(exception.message =~ /^Expected \(sky == \"green\"\), but/, "message is #{exception.message.inspect}")
|
102
|
-
end
|
103
|
-
end
|
104
|
-
=end
|
data/test/test_helper.rb
CHANGED
@@ -30,7 +30,26 @@ def get_error
|
|
30
30
|
error
|
31
31
|
end
|
32
32
|
|
33
|
-
|
33
|
+
def sys(cmd, expected_status = 0)
|
34
|
+
start_time = Time.now
|
35
|
+
$stderr.print cmd
|
36
|
+
Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thread|
|
37
|
+
# in Ruby 1.8, wait_thread is nil :-( so just pretend the process was successful (status 0)
|
38
|
+
exit_status = (wait_thread.value.exitstatus if wait_thread) || 0
|
39
|
+
output = stdout.read + stderr.read
|
40
|
+
unless expected_status.nil?
|
41
|
+
assert { output and exit_status == expected_status }
|
42
|
+
end
|
43
|
+
yield output if block_given?
|
44
|
+
output
|
45
|
+
end
|
46
|
+
ensure
|
47
|
+
$stderr.puts " (#{"%.2f" % (Time.now - start_time)} sec)"
|
48
|
+
end
|
49
|
+
|
50
|
+
def clear_bundler_env
|
51
|
+
# Bundler inherits its environment by default, so clear it here
|
52
|
+
%w{BUNDLE_PATH BUNDLE_BIN_PATH BUNDLE_GEMFILE}.each { |var| ENV.delete(var) }
|
34
53
|
end
|
35
54
|
|
36
55
|
module Kernel
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
8
|
+
- 3
|
9
|
+
version: 0.4.3
|
10
10
|
platform: java
|
11
11
|
authors:
|
12
12
|
- Steve Conover
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-20 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -127,8 +127,27 @@ files:
|
|
127
127
|
- lib/wrong.rb
|
128
128
|
- README.markdown
|
129
129
|
- test/adapters/minitest_test.rb
|
130
|
+
- test/adapters/railsapp/app/controllers/application_controller.rb
|
131
|
+
- test/adapters/railsapp/app/helpers/application_helper.rb
|
132
|
+
- test/adapters/railsapp/autotest/discover.rb
|
133
|
+
- test/adapters/railsapp/config/application.rb
|
134
|
+
- test/adapters/railsapp/config/boot.rb
|
135
|
+
- test/adapters/railsapp/config/environment.rb
|
136
|
+
- test/adapters/railsapp/config/environments/development.rb
|
137
|
+
- test/adapters/railsapp/config/environments/production.rb
|
138
|
+
- test/adapters/railsapp/config/environments/test.rb
|
139
|
+
- test/adapters/railsapp/config/initializers/backtrace_silencers.rb
|
140
|
+
- test/adapters/railsapp/config/initializers/inflections.rb
|
141
|
+
- test/adapters/railsapp/config/initializers/mime_types.rb
|
142
|
+
- test/adapters/railsapp/config/initializers/secret_token.rb
|
143
|
+
- test/adapters/railsapp/config/initializers/session_store.rb
|
144
|
+
- test/adapters/railsapp/config/routes.rb
|
145
|
+
- test/adapters/railsapp/db/seeds.rb
|
146
|
+
- test/adapters/railsapp/spec/spec_helper.rb
|
147
|
+
- test/adapters/railsapp/spec/wrong_spec.rb
|
130
148
|
- test/adapters/rspec1/failing_spec.rb
|
131
149
|
- test/adapters/rspec2/failing_spec.rb
|
150
|
+
- test/adapters/rspec_rails_test.rb
|
132
151
|
- test/adapters/rspec_test.rb
|
133
152
|
- test/adapters/test_unit_test.rb
|
134
153
|
- test/assert_advanced_test.rb
|
@@ -163,7 +182,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
163
182
|
requirements:
|
164
183
|
- - ">="
|
165
184
|
- !ruby/object:Gem::Version
|
166
|
-
hash:
|
185
|
+
hash: 219727975865323768
|
167
186
|
segments:
|
168
187
|
- 0
|
169
188
|
version: "0"
|
@@ -184,8 +203,27 @@ specification_version: 3
|
|
184
203
|
summary: Wrong provides a general assert method that takes a predicate block. Assertion failure messages are rich in detail.
|
185
204
|
test_files:
|
186
205
|
- test/adapters/minitest_test.rb
|
206
|
+
- test/adapters/railsapp/app/controllers/application_controller.rb
|
207
|
+
- test/adapters/railsapp/app/helpers/application_helper.rb
|
208
|
+
- test/adapters/railsapp/autotest/discover.rb
|
209
|
+
- test/adapters/railsapp/config/application.rb
|
210
|
+
- test/adapters/railsapp/config/boot.rb
|
211
|
+
- test/adapters/railsapp/config/environment.rb
|
212
|
+
- test/adapters/railsapp/config/environments/development.rb
|
213
|
+
- test/adapters/railsapp/config/environments/production.rb
|
214
|
+
- test/adapters/railsapp/config/environments/test.rb
|
215
|
+
- test/adapters/railsapp/config/initializers/backtrace_silencers.rb
|
216
|
+
- test/adapters/railsapp/config/initializers/inflections.rb
|
217
|
+
- test/adapters/railsapp/config/initializers/mime_types.rb
|
218
|
+
- test/adapters/railsapp/config/initializers/secret_token.rb
|
219
|
+
- test/adapters/railsapp/config/initializers/session_store.rb
|
220
|
+
- test/adapters/railsapp/config/routes.rb
|
221
|
+
- test/adapters/railsapp/db/seeds.rb
|
222
|
+
- test/adapters/railsapp/spec/spec_helper.rb
|
223
|
+
- test/adapters/railsapp/spec/wrong_spec.rb
|
187
224
|
- test/adapters/rspec1/failing_spec.rb
|
188
225
|
- test/adapters/rspec2/failing_spec.rb
|
226
|
+
- test/adapters/rspec_rails_test.rb
|
189
227
|
- test/adapters/rspec_test.rb
|
190
228
|
- test/adapters/test_unit_test.rb
|
191
229
|
- test/assert_advanced_test.rb
|