diff options
Diffstat (limited to 'spec/handlers/spec_helper.rb')
| -rw-r--r-- | spec/handlers/spec_helper.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/handlers/spec_helper.rb b/spec/handlers/spec_helper.rb new file mode 100644 index 0000000..1eba194 --- /dev/null +++ b/spec/handlers/spec_helper.rb @@ -0,0 +1,31 @@ +require_relative '../spec_helper' +require 'stringio' + +def undoc_error(code) + lambda { StubbedSourceParser.parse_string(code) }.should raise_error(Parser::UndocumentableError) +end + +def with_parser(parser_type, &block) + tmp = StubbedSourceParser.parser_type + StubbedSourceParser.parser_type = parser_type + yield + StubbedSourceParser.parser_type = tmp +end + +class StubbedProcessor < YARD::Handlers::Processor + def process(statements) + statements.each_with_index do |stmt, index| + find_handlers(stmt).each do |handler| + handler.new(self, stmt).process + end + end + end +end + +class StubbedSourceParser < YARD::Parser::SourceParser + StubbedSourceParser.parser_type = :ruby + def post_process + post = StubbedProcessor.new(self) + post.process(@parser.enumerator) + end +end |
