Sha256: 7beafec5603c0a5de84d83825f5c4a8e866a4ff10647d04d19316db49009e0dc

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

if ENV['COVERAGE'] == 'true'
  require 'simplecov'
  require 'coveralls'

  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
    SimpleCov::Formatter::HTMLFormatter,
    Coveralls::SimpleCov::Formatter
  ]

  SimpleCov.start do
    command_name     'spec:unit'
    add_filter       'config/'
    add_filter       'spec'
    add_filter       '.bundle'
    minimum_coverage 98
  end
end

require 'rspec'
require 'bogus/rspec'
require 'virtus'
require 'inflecto' # for resolving namespaced constant names

module Virtus
  def self.warn(*)
    # shut up in tests
  end
end

ENV['TZ'] = 'UTC'

# require spec support files and shared behavior
Dir[File.expand_path('../shared/**/*.rb', __FILE__)].each { |file| require file }

RSpec.configure do |config|

  # Remove anonymous- and example- Attribute classes from Attribute descendants
  config.after :all do
    stack = [ Virtus::Attribute ]
    while klass = stack.pop
      klass.descendants.delete_if do |descendant|
        descendant.name.nil? || descendant.name.empty? || descendant.name.start_with?('Examples::')
      end
      stack.concat(klass.descendants)
    end
  end

  # Remove constants in the Example-Module
  config.after :each do
    if defined?(Examples)
      Examples.constants.each do |const_name|
        ConstantsHelpers.undef_constant(Examples, const_name)
      end
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
virtus-1.0.1 spec/spec_helper.rb
virtus-1.0.0 spec/spec_helper.rb
virtus-1.0.0.rc2 spec/spec_helper.rb
virtus-1.0.0.rc1 spec/spec_helper.rb