Sha256: 2b127e1e55f95e9b2da7a36eaf6c087d06e0775f1cf524de7cf5b0a2c4970cc1
Contents?: true
Size: 1.36 KB
Versions: 6
Compression:
Stored size: 1.36 KB
Contents
require 'commonmarker' require 'minitest/autorun' require 'minitest/pride' include CommonMarker FIXTURES_DIR = File.join(File.dirname(__FILE__), 'fixtures') def open_spec_file(filename) line_number = 0 start_line = 0 end_line = 0 example_number = 0 markdown_lines = [] html_lines = [] state = 0 # 0 regular text, 1 markdown example, 2 html output headertext = '' tests = [] header_re = Regexp.new('#+ ') filepath = File.join('ext', 'commonmarker', 'cmark', 'test', filename) File.readlines(filepath).each do |line| line_number += 1 l = line.strip if l == '`' * 32 + ' example' state = 1 elsif l == '`' * 32 state = 0 example_number += 1 end_line = line_number tests << { :markdown => markdown_lines.join('').tr('→', "\t"), :html => html_lines.join('').tr('→', "\t").rstrip, :example => example_number, :start_line => start_line, :end_line => end_line, :section => headertext } start_line = 0 markdown_lines = [] html_lines = [] elsif l == '.' state = 2 elsif state == 1 start_line = line_number - 1 if start_line == 0 markdown_lines << "#{line}" elsif state == 2 html_lines << "#{line}" elsif state == 0 && header_re.match(line) headertext = line.sub(header_re, '').strip end end tests end
Version data entries
6 entries across 6 versions & 1 rubygems