Sha256: 42f867ce9e5b42bf05fbf5ae725b3a3f7ac2b8e8302f08b258d30b3c6bc5c04e

Contents?: true

Size: 820 Bytes

Versions: 10

Compression:

Stored size: 820 Bytes

Contents

module MiniTestSpecRails
  module DSL

    def self.included(klass)
      klass.extend ClassMethods
      remove_method :test if method_defined?(:test)
    end

    module ClassMethods

      def describe(*args, &block)
        stack = Minitest::Spec.describe_stack
        stack.push self if stack.empty?
        super(*args) { class_eval(&block) }
        stack.pop if stack.length == 1
      end

      def before(type = nil, &block)
        setup { self.instance_eval(&block) }
      end

      def after(type = nil, &block)
        teardown { self.instance_eval(&block) }
      end

      def test(name, &block)
        it(name) { self.instance_eval(&block) }
      end

      def described_class
        nil
      end
      
    end

    def described_class
      self.class.described_class
    end
    
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
minitest-spec-rails-5.4.0 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-5.3.0 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-5.2.2 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-5.2.0 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-5.1.1 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-5.1.0 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-orangejulius-5.0.5.pre.orangejulius lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-orangejulius-5.0.4.pre.orangejulius lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-5.0.4 lib/minitest-spec-rails/dsl.rb
minitest-spec-rails-orangejulius-5.0.3.pre.orangejulius lib/minitest-spec-rails/dsl.rb