Module: Minitest::Markdown
- Defined in:
- lib/minitest/markdown.rb,
lib/minitest/markdown/errors.rb,
lib/minitest/markdown/version.rb,
lib/minitest/markdown/test_class.rb,
lib/minitest/markdown/configuration.rb,
lib/minitest/markdown/ruby_code_block.rb
Overview
Defined Under Namespace
Classes: Configuration, Error, RubyCodeBlock, TestClass
Constant Summary
collapse
- BAD_KLASS =
'klass keyword takes a subclass of Minitest::Test'
- ARG_ERR =
'stubs keyword takes a hash. Keys are integers and values are StubChain instances'
- VERSION =
'1.0.1'
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
19
20
21
|
# File 'lib/minitest/markdown.rb', line 19
def config
@config ||= Configuration.new
end
|
23
24
25
|
# File 'lib/minitest/markdown.rb', line 23
def configure
yield config
end
|
.generate_markdown_tests(klass, path: nil, stubs: {}) ⇒ Object
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/minitest/markdown.rb', line 27
def generate_markdown_tests(klass, path: nil, stubs: {})
raise ArgumentError, BAD_KLASS unless klass.respond_to?(:ancestors) && klass.ancestors.include?(Test)
raise ArgumentError, ARG_ERR unless stubs.is_a? Hash
raise ArgumentError, ARG_ERR unless stubs.keys.all?(Integer)
raise ArgumentError, ARG_ERR unless stubs.values.all?(StubChain)
klass.include Hooks
TestClass.new(klass, path: path).define_methods(stubs: stubs)
end
|