motion-kramdown 0.6.0 → 1.16.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +6 -2
  3. data/lib/kramdown.rb +1 -1
  4. data/lib/kramdown/converter.rb +10 -11
  5. data/lib/kramdown/converter/base.rb +19 -12
  6. data/lib/kramdown/converter/hash_ast.rb +38 -0
  7. data/lib/kramdown/converter/html.rb +71 -39
  8. data/lib/kramdown/converter/kramdown.rb +19 -10
  9. data/lib/kramdown/converter/latex.rb +28 -10
  10. data/lib/kramdown/converter/man.rb +303 -0
  11. data/lib/kramdown/converter/math_engine/itex2mml.rb +2 -2
  12. data/lib/kramdown/converter/math_engine/mathjax.rb +13 -3
  13. data/lib/kramdown/converter/math_engine/mathjaxnode.rb +56 -0
  14. data/lib/kramdown/converter/math_engine/ritex.rb +2 -2
  15. data/lib/kramdown/converter/math_engine/sskatex.rb +97 -0
  16. data/lib/kramdown/converter/pdf.rb +6 -6
  17. data/lib/kramdown/converter/remove_html_tags.rb +5 -3
  18. data/lib/kramdown/converter/syntax_highlighter.rb +5 -2
  19. data/lib/kramdown/converter/syntax_highlighter/coderay.rb +8 -5
  20. data/lib/kramdown/converter/syntax_highlighter/minted.rb +35 -0
  21. data/lib/kramdown/converter/syntax_highlighter/rouge.rb +48 -10
  22. data/lib/kramdown/converter/toc.rb +2 -2
  23. data/lib/kramdown/document.rb +16 -19
  24. data/lib/kramdown/element.rb +5 -1
  25. data/lib/kramdown/error.rb +1 -1
  26. data/lib/kramdown/options.rb +103 -7
  27. data/lib/kramdown/parser.rb +1 -1
  28. data/lib/kramdown/parser/base.rb +12 -18
  29. data/lib/kramdown/parser/gfm.rb +142 -11
  30. data/lib/kramdown/parser/html.rb +28 -18
  31. data/lib/kramdown/parser/kramdown.rb +45 -36
  32. data/lib/kramdown/parser/kramdown/abbreviation.rb +1 -1
  33. data/lib/kramdown/parser/kramdown/autolink.rb +2 -8
  34. data/lib/kramdown/parser/kramdown/blank_line.rb +2 -2
  35. data/lib/kramdown/parser/kramdown/block_boundary.rb +4 -4
  36. data/lib/kramdown/parser/kramdown/blockquote.rb +4 -4
  37. data/lib/kramdown/parser/kramdown/codeblock.rb +11 -8
  38. data/lib/kramdown/parser/kramdown/codespan.rb +1 -1
  39. data/lib/kramdown/parser/kramdown/emphasis.rb +2 -2
  40. data/lib/kramdown/parser/kramdown/eob.rb +1 -1
  41. data/lib/kramdown/parser/kramdown/escaped_chars.rb +1 -1
  42. data/lib/kramdown/parser/kramdown/extensions.rb +6 -3
  43. data/lib/kramdown/parser/kramdown/footnote.rb +4 -5
  44. data/lib/kramdown/parser/kramdown/header.rb +2 -2
  45. data/lib/kramdown/parser/kramdown/horizontal_rule.rb +1 -1
  46. data/lib/kramdown/parser/kramdown/html.rb +8 -8
  47. data/lib/kramdown/parser/kramdown/html_entity.rb +2 -2
  48. data/lib/kramdown/parser/kramdown/line_break.rb +1 -1
  49. data/lib/kramdown/parser/kramdown/link.rb +5 -4
  50. data/lib/kramdown/parser/kramdown/list.rb +17 -10
  51. data/lib/kramdown/parser/kramdown/math.rb +2 -2
  52. data/lib/kramdown/parser/kramdown/paragraph.rb +19 -8
  53. data/lib/kramdown/parser/kramdown/smart_quotes.rb +3 -3
  54. data/lib/kramdown/parser/kramdown/table.rb +10 -12
  55. data/lib/kramdown/parser/kramdown/typographic_symbol.rb +1 -1
  56. data/lib/kramdown/parser/markdown.rb +2 -2
  57. data/lib/kramdown/utils.rb +2 -1
  58. data/lib/kramdown/utils/configurable.rb +2 -2
  59. data/lib/kramdown/utils/entities.rb +1 -1
  60. data/lib/kramdown/utils/html.rb +2 -2
  61. data/lib/kramdown/utils/lru_cache.rb +40 -0
  62. data/lib/kramdown/utils/ordered_hash.rb +2 -71
  63. data/lib/kramdown/utils/string_scanner.rb +2 -2
  64. data/lib/kramdown/utils/unidecoder.rb +2 -2
  65. data/lib/kramdown/version.rb +2 -2
  66. data/lib/rubymotion/require_override.rb +9 -0
  67. data/lib/rubymotion/version.rb +1 -1
  68. data/spec/{helpers → motion-kramdown/_helpers}/it_behaves_like.rb +0 -0
  69. data/spec/{helpers → motion-kramdown/_helpers}/option_file.rb +2 -2
  70. data/spec/{helpers → motion-kramdown/_helpers}/tidy.rb +0 -0
  71. data/spec/motion-kramdown/bench_mark.rb +37 -0
  72. data/spec/{document_tree.rb → motion-kramdown/document_tree.rb} +11 -1
  73. data/spec/{gfm_to_html.rb → motion-kramdown/gfm_to_html.rb} +51 -18
  74. data/spec/{html_to_html.rb → motion-kramdown/html_to_html.rb} +27 -9
  75. data/spec/{html_to_kramdown_to_html.rb → motion-kramdown/html_to_kramdown_to_html.rb} +35 -16
  76. data/spec/motion-kramdown/kramdown_to_xxx.rb +75 -0
  77. data/spec/{test_location.rb → motion-kramdown/test_location.rb} +0 -0
  78. data/spec/{test_string_scanner_kramdown.rb → motion-kramdown/test_string_scanner_kramdown.rb} +0 -0
  79. data/spec/motion-kramdown/text_manpage.rb +11 -0
  80. data/spec/{text_to_kramdown_to_html.rb → motion-kramdown/text_to_kramdown_to_html.rb} +30 -19
  81. data/spec/{text_to_latex.rb → motion-kramdown/text_to_latex.rb} +0 -0
  82. data/spec/{helpers/spec_options.rb → spec_helper.rb} +13 -2
  83. metadata +54 -33
  84. data/lib/kramdown/compatibility.rb +0 -36
  85. data/spec/bench_mark.rb +0 -43
  86. data/spec/kramdown_to_xxx.rb +0 -42
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -1,13 +1,13 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
- # RM require 'rexml/parsers/baseparser'
10
+ require 'rexml/parsers/baseparser'
11
11
 
12
12
  module Kramdown
13
13
 
@@ -0,0 +1,40 @@
1
+ # -*- encoding: utf-8 -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2014-2017 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+
9
+ module Kramdown
10
+ module Utils
11
+
12
+ # A simple least recently used (LRU) cache.
13
+ #
14
+ # The cache relies on the fact that Ruby's Hash class maintains insertion order. So deleting
15
+ # and re-inserting a key-value pair on access moves the key to the last position. When an
16
+ # entry is added and the cache is full, the first entry is removed.
17
+ class LRUCache
18
+
19
+ # Creates a new LRUCache that can hold +size+ entries.
20
+ def initialize(size)
21
+ @size = size
22
+ @cache = {}
23
+ end
24
+
25
+ # Returns the stored value for +key+ or +nil+ if no value was stored under the key.
26
+ def [](key)
27
+ (val = @cache.delete(key)).nil? ? nil : @cache[key] = val
28
+ end
29
+
30
+ # Stores the +value+ under the +key+.
31
+ def []=(key, value)
32
+ @cache.delete(key)
33
+ @cache[key] = value
34
+ @cache.shift if @cache.length > @size
35
+ end
36
+
37
+ end
38
+
39
+ end
40
+ end
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -11,76 +11,7 @@ module Kramdown
11
11
 
12
12
  module Utils
13
13
 
14
- if RUBY_VERSION < '1.9'
15
-
16
- # A partial hash implementation which preserves the insertion order of the keys.
17
- #
18
- # *Note* that this class is only used on Ruby 1.8 since the built-in Hash on Ruby 1.9
19
- # automatically preserves the insertion order. However, to remain compatibility only the
20
- # methods defined in this class may be used when working with OrderedHash on Ruby 1.9.
21
- class OrderedHash
22
-
23
- include Enumerable
24
-
25
- # Initialize the OrderedHash object.
26
- def initialize
27
- @data = {}
28
- @order = []
29
- end
30
-
31
- # Iterate over the stored keys in insertion order.
32
- def each
33
- @order.each {|k| yield(k, @data[k])}
34
- end
35
-
36
- # Return the value for the +key+.
37
- def [](key)
38
- @data[key]
39
- end
40
-
41
- # Return +true+ if the hash contains the key.
42
- def has_key?(key)
43
- @data.has_key?(key)
44
- end
45
-
46
- # Set the value for the +key+ to +val+.
47
- def []=(key, val)
48
- @order << key if !@data.has_key?(key)
49
- @data[key] = val
50
- end
51
-
52
- # Delete the +key+.
53
- def delete(key)
54
- @order.delete(key)
55
- @data.delete(key)
56
- end
57
-
58
- def merge!(other)
59
- other.each {|k,v| self[k] = v}
60
- self
61
- end
62
-
63
- def dup #:nodoc:
64
- new_object = super
65
- new_object.instance_variable_set(:@data, @data.dup)
66
- new_object.instance_variable_set(:@order, @order.dup)
67
- new_object
68
- end
69
-
70
- def ==(other) #:nodoc:
71
- return false unless other.kind_of?(self.class)
72
- @data == other.instance_variable_get(:@data) && @order == other.instance_variable_get(:@order)
73
- end
74
-
75
- def inspect #:nodoc:
76
- "{" + map {|k,v| "#{k.inspect}=>#{v.inspect}"}.join(" ") + "}"
77
- end
78
-
79
- end
80
-
81
- else
82
- OrderedHash = Hash
83
- end
14
+ OrderedHash = Hash
84
15
 
85
16
  end
86
17
 
@@ -1,14 +1,14 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
8
8
  #
9
9
 
10
10
 
11
- # RM require 'strscan'
11
+ require 'strscan'
12
12
 
13
13
  module Kramdown
14
14
  module Utils
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -19,7 +19,7 @@ module Kramdown
19
19
  # RM TODO path = $:.find {|dir| File.directory?(File.join(File.expand_path(dir), "stringex", "unidecoder_data"))}
20
20
  path = 'lib' # RM TODO
21
21
 
22
- if RUBY_VERSION <= '1.8.6' || !path
22
+ if !path
23
23
  def self.decode(string)
24
24
  string
25
25
  end
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  #--
4
- # Copyright (C) 2009-2015 Thomas Leitner <t_leitner@gmx.at>
4
+ # Copyright (C) 2009-2016 Thomas Leitner <t_leitner@gmx.at>
5
5
  #
6
6
  # This file is part of kramdown which is licensed under the MIT.
7
7
  #++
@@ -10,6 +10,6 @@
10
10
  module Kramdown
11
11
 
12
12
  # The kramdown version.
13
- VERSION = '1.6.0'
13
+ VERSION = '1.16.2'
14
14
 
15
15
  end
@@ -0,0 +1,9 @@
1
+ module Kernel
2
+ # Since RubyMotion doesn't support `require` in the code, then let's
3
+ # noop it. This allows us to keep the original kramdown require statements
4
+ # so that the source is more pure and easier to diff.
5
+ # This _should_ be safe...
6
+ def require(_name)
7
+ # noop
8
+ end
9
+ end
@@ -1,6 +1,6 @@
1
1
  module MotionKramdown
2
2
 
3
3
  # The motion-kramdown version.
4
- VERSION = '0.6.0'
4
+ VERSION = '1.16.2'
5
5
 
6
6
  end
@@ -1,6 +1,6 @@
1
1
  #------------------------------------------------------------------------------
2
2
  def testcase_dir(dir = 'testcases')
3
- File.join(File.dirname(__FILE__), '../../test', dir)
3
+ File.join(File.dirname(__FILE__), '../../../test', dir)
4
4
  end
5
5
 
6
6
  #------------------------------------------------------------------------------
@@ -18,7 +18,7 @@ def load_options(opts_file)
18
18
  options.tap do |o|
19
19
  o.keys.each { |k| o[(k.to_s[0] == ':' ? k[1..-1] : k).to_sym] = o.delete(k) }
20
20
  end
21
-
21
+
22
22
  # YAML isn't hanldling integers correctly, is giving doubles instead
23
23
  options[:header_offset] = options[:header_offset].to_int if options[:header_offset]
24
24
  options[:footnote_nr] = options[:footnote_nr].to_int if options[:footnote_nr]
@@ -0,0 +1,37 @@
1
+ # runs = 10
2
+ # files = ['mdsyntax.text', 'mdbasics.text']
3
+ # benchmark_dir = File.join(File.dirname(__FILE__), '../../benchmark')
4
+ #
5
+ # puts
6
+ # puts "Running tests on #{Time.now.strftime("%Y-%m-%d")} under #{RUBY_DESCRIPTION}"
7
+ #
8
+ # files.each do |file|
9
+ # data = File.read(File.join(benchmark_dir, file))
10
+ # puts
11
+ # puts "==> Test using file #{file} and #{runs} runs"
12
+ #
13
+ # # results = Benchmark.bmbm do |b|
14
+ # results = Benchmark.bm do |b|
15
+ # b.report("kramdown #{Kramdown::VERSION}") { runs.times { Kramdown::Document.new(data).to_html } }
16
+ # # b.report(" hoedown 3.0.1") do
17
+ # # runs.times do
18
+ # # document = HoedownDocument.new
19
+ # # document.initWithHtmlRendererWithFlags(FLAGS)
20
+ # # html = document.renderMarkdownString(data)
21
+ # # end
22
+ # # end
23
+ # end
24
+ #
25
+ # # puts
26
+ # # puts "Real time of X divided by real time of kramdown"
27
+ # # kd = results.shift.real
28
+ # # %w[hoedown].each do |name|
29
+ # # puts name.ljust(19) << (results.shift.real/kd).round(4).to_s
30
+ # # end
31
+ # end
32
+ #
33
+ # describe "Benchmark Test" do
34
+ # it "benchmarks with mdsyntax.text and mdbasics.text" do
35
+ # expect(true).to eq true
36
+ # end
37
+ # end
@@ -15,16 +15,26 @@ describe "asserting that converters don't modify the document tree" do
15
15
  'test/testcases/block/15_math/ritex.text', # bc no math support yet
16
16
  'test/testcases/block/15_math/mathjax_preview.text', # bc no math support yet
17
17
  'test/testcases/block/15_math/mathjax_preview_simple.text', # bc no math support yet
18
+ 'test/testcases/block/15_math/mathjaxnode_notexhints.text', # bc no math support yet
19
+ 'test/testcases/block/15_math/mathjaxnode_semantics.text', # bc no math support yet
20
+ 'test/testcases/block/15_math/mathjaxnode.text', # bc no math support yet
21
+ 'test/testcases/block/15_math/mathjax_preview_as_code.text', # bc no math support yet
22
+ 'test/testcases/man/example.text', # bc no math support yet
23
+ 'test/testcases/span/math/mathjaxnode.text', # bc no math support yet
18
24
  'test/testcases/span/math/normal.text', # bc no math support yet
19
25
  'test/testcases/span/math/ritex.text', # bc no math support yet
20
26
  'test/testcases/span/math/itex2mml.text', # bc no math support yet
27
+
28
+ 'test/testcases/block/15_math/sskatex.text', # bc no math support yet
29
+ 'test/testcases/span/math/sskatex.text', # bc no math support yet
30
+ 'test/testcases/span/04_footnote/backlink_inline.text', # bc no math support yet
21
31
  ].compact
22
32
 
23
33
  Dir["#{focus_files(testcase_dir)}.text"].each do |text_file|
24
34
  next if EXCLUDE_TREE_FILES.any? {|f| text_file =~ /#{f}$/}
25
35
  opts_file = text_file.sub(/\.text$/, '.options')
26
36
  options = load_options(opts_file)
27
-
37
+
28
38
  (Kramdown::Converter.constants(true).map {|c| c.to_sym} - [:Latex, :Base, :RemoveHtmlTags, :MathEngine, :SyntaxHighlighter]).each do |conv_class|
29
39
  next if conv_class == :Pdf && (RUBY_VERSION < '2.0' || EXCLUDE_PDF_MODIFY.any? {|f| text_file =~ /#{f}$/})
30
40
 
@@ -1,20 +1,42 @@
1
1
  describe "gfm-to-html conversion" do
2
2
 
3
+ MATHJAX_NODE_AVAILABLE = begin
4
+ require 'kramdown/converter/math_engine/mathjaxnode'
5
+ Kramdown::Converter::MathEngine::MathjaxNode::AVAILABLE or
6
+ warn("Skipping MathjaxNode tests as MathjaxNode is not available")
7
+ end
8
+
9
+ KATEX_AVAILABLE = begin
10
+ / class="katex"/ === Kramdown::Document.
11
+ new('$$a$$', {:math_engine => :sskatex}).to_html or
12
+ warn("Skipping SsKaTeX tests as SsKaTeX is not available.")
13
+ rescue
14
+ warn("Skipping SsKaTeX tests as default SsKaTeX config does not work.")
15
+ end or warn("Run \"rake dev:test_sskatex_deps\" to see why.")
16
+
3
17
  EXCLUDE_GFM_FILES = [
4
18
  'test/testcases/block/03_paragraph/no_newline_at_end.text',
5
19
  'test/testcases/block/03_paragraph/indented.text',
6
20
  'test/testcases/block/03_paragraph/two_para.text',
21
+ 'test/testcases/block/03_paragraph/line_break_last_line.text',
7
22
  'test/testcases/block/04_header/atx_header.text',
8
23
  'test/testcases/block/04_header/setext_header.text',
24
+ 'test/testcases/block/04_header/with_auto_ids.text', # bc of ID generation difference
25
+ 'test/testcases/block/04_header/with_auto_id_prefix.text', # bc of ID generation difference
9
26
  'test/testcases/block/05_blockquote/indented.text',
10
27
  'test/testcases/block/05_blockquote/lazy.text',
11
28
  'test/testcases/block/05_blockquote/nested.text',
12
29
  'test/testcases/block/05_blockquote/no_newline_at_end.text',
13
30
  'test/testcases/block/06_codeblock/error.text',
31
+ 'test/testcases/block/06_codeblock/highlighting-opts.text', # bc no highlight support yet
32
+ 'test/testcases/block/06_codeblock/highlighting.text', # bc no highlight support yet
33
+ ('test/testcases/block/06_codeblock/rouge/simple.text' if RUBY_VERSION < '2.0'), #bc of rouge
34
+ ('test/testcases/block/06_codeblock/rouge/multiple.text' if RUBY_VERSION < '2.0'), #bc of rouge
14
35
  'test/testcases/block/07_horizontal_rule/error.text',
15
36
  'test/testcases/block/08_list/escaping.text',
16
37
  'test/testcases/block/08_list/item_ial.text',
17
38
  'test/testcases/block/08_list/lazy.text',
39
+ 'test/testcases/block/08_list/lazy_and_nested.text', # bc of change in lazy line handling
18
40
  'test/testcases/block/08_list/list_and_others.text',
19
41
  'test/testcases/block/08_list/other_first_element.text',
20
42
  'test/testcases/block/08_list/simple_ul.text',
@@ -28,6 +50,7 @@ describe "gfm-to-html conversion" do
28
50
  'test/testcases/block/12_extension/comment.text',
29
51
  'test/testcases/block/12_extension/ignored.text',
30
52
  'test/testcases/block/12_extension/nomarkdown.text',
53
+ 'test/testcases/block/12_extension/options3.text', # bc no highlight support yet
31
54
  'test/testcases/block/13_definition_list/item_ial.text',
32
55
  'test/testcases/block/13_definition_list/multiple_terms.text',
33
56
  'test/testcases/block/13_definition_list/no_def_list.text',
@@ -37,12 +60,29 @@ describe "gfm-to-html conversion" do
37
60
  'test/testcases/block/14_table/escaping.text',
38
61
  'test/testcases/block/14_table/simple.text',
39
62
  'test/testcases/block/15_math/normal.text',
63
+ 'test/testcases/block/15_math/mathjaxnode_notexhints.text',
64
+ 'test/testcases/block/15_math/mathjaxnode_semantics.text',
65
+ 'test/testcases/block/15_math/mathjaxnode.text',
66
+ 'test/testcases/block/15_math/gh_128.text', # bc no math support yet
67
+ 'test/testcases/block/15_math/itex2mml.text', # bc no math support yet
68
+ 'test/testcases/block/15_math/normal.text', # bc no math support yet
69
+ 'test/testcases/block/15_math/ritex.text', # bc no math support yet
70
+ 'test/testcases/block/15_math/mathjax_preview.text', # bc no math support yet
71
+ 'test/testcases/block/15_math/mathjax_preview_simple.text', # bc no math support yet
72
+ 'test/testcases/block/15_math/mathjax_preview_as_code.text', # bc no math support yet
73
+ 'test/testcases/block/16_toc/toc_with_footnotes.text', # bc of ID generation difference
74
+
40
75
  'test/testcases/encoding.text',
76
+
41
77
  'test/testcases/span/01_link/inline.text',
42
78
  'test/testcases/span/01_link/link_defs.text',
43
79
  'test/testcases/span/01_link/reference.text',
44
80
  'test/testcases/span/02_emphasis/normal.text',
45
81
  'test/testcases/span/03_codespan/normal.text',
82
+ 'test/testcases/span/03_codespan/rouge/simple.text', # bc no highlight support yet
83
+ 'test/testcases/span/03_codespan/highlighting.text', # bc no highlight support yet
84
+ 'test/testcases/span/03_codespan/rouge/simple.text',
85
+ 'test/testcases/span/03_codespan/rouge/multiple.text',
46
86
  'test/testcases/span/04_footnote/definitions.text',
47
87
  'test/testcases/span/04_footnote/markers.text',
48
88
  'test/testcases/span/05_html/across_lines.text',
@@ -53,28 +93,21 @@ describe "gfm-to-html conversion" do
53
93
  'test/testcases/span/extension/comment.text',
54
94
  'test/testcases/span/ial/simple.text',
55
95
  'test/testcases/span/line_breaks/normal.text',
56
- 'test/testcases/span/text_substitutions/entities_as_char.text',
57
- 'test/testcases/span/text_substitutions/entities.text',
58
- 'test/testcases/span/text_substitutions/typography.text',
59
- ('test/testcases/span/03_codespan/highlighting-rouge.text' if RUBY_VERSION < '2.0'),
60
- ('test/testcases/block/06_codeblock/highlighting-rouge.text' if RUBY_VERSION < '2.0'), #bc of rouge
61
-
62
- 'test/testcases/block/04_header/with_auto_ids.text', # bc no transliteration support yet
63
- 'test/testcases/block/06_codeblock/highlighting-opts.text', # bc no highlight support yet
64
- 'test/testcases/block/06_codeblock/highlighting.text', # bc no highlight support yet
65
- 'test/testcases/block/12_extension/options3.text', # bc no highlight support yet
66
- 'test/testcases/block/15_math/gh_128.text', # bc no math support yet
67
- 'test/testcases/block/15_math/itex2mml.text', # bc no math support yet
68
- 'test/testcases/block/15_math/normal.text', # bc no math support yet
69
- 'test/testcases/block/15_math/ritex.text', # bc no math support yet
70
- 'test/testcases/block/15_math/mathjax_preview.text', # bc no math support yet
71
- 'test/testcases/block/15_math/mathjax_preview_simple.text', # bc no math support yet
72
96
  'test/testcases/span/math/itex2mml.text', # bc no math support yet
97
+ 'test/testcases/span/math/mathjaxnode.text', # bc no math support yet
73
98
  'test/testcases/span/math/normal.text', # bc no math support yet
74
99
  'test/testcases/span/math/ritex.text', # bc no math support yet
75
- 'test/testcases/span/03_codespan/highlighting-rouge.text', # bc no highlight support yet
76
- 'test/testcases/span/03_codespan/highlighting.text', # bc no highlight support yet
100
+ 'test/testcases/span/text_substitutions/entities_as_char.text',
101
+ 'test/testcases/span/text_substitutions/entities.text',
102
+ 'test/testcases/span/text_substitutions/typography.text',
103
+
77
104
  'test/testcases_gfm/backticks_syntax.text', # bc no highlight support yet
105
+ 'test/testcases_gfm/header_ids.text', # bc no math support yet
106
+
107
+ ('test/testcases/block/15_math/sskatex.text' unless KATEX_AVAILABLE),
108
+ ('test/testcases/span/math/sskatex.text' unless KATEX_AVAILABLE),
109
+
110
+ 'test/testcases/span/04_footnote/backlink_inline.text', # bc no math support yet
78
111
  ].compact
79
112
 
80
113
  ['testcases', 'testcases_gfm'].each do |item|
@@ -5,23 +5,41 @@ describe "html-to-{html,kramdown} conversion" do
5
5
  warn("Skipping html-to-{html,kramdown} tests because tidy executable is missing")
6
6
  else
7
7
  EXCLUDE_HTML_FILES = [
8
- 'test/testcases/block/06_codeblock/whitespace.html', # bc of span inside pre
9
- 'test/testcases/block/09_html/simple.html', # bc of xml elements
10
- 'test/testcases/span/03_codespan/highlighting.html', # bc of span elements inside code element
11
8
  'test/testcases/block/04_header/with_auto_ids.html', # bc of auto_ids=true option
12
9
  'test/testcases/block/04_header/header_type_offset.html', # bc of header_offset option
13
- 'test/testcases/block/06_codeblock/highlighting-rouge.html', # bc of double surrounding <div>
14
- ('test/testcases/span/03_codespan/highlighting-rouge.html' if RUBY_VERSION < '2.0'),
10
+ 'test/testcases/block/06_codeblock/whitespace.html', # bc of span inside pre
11
+ 'test/testcases/block/06_codeblock/rouge/simple.html', # bc of double surrounding <div>
12
+ 'test/testcases/block/06_codeblock/rouge/multiple.html', # bc of double surrounding <div>
13
+ 'test/testcases/block/09_html/simple.html', # bc of xml elements
14
+ 'test/testcases/block/09_html/xml.html', # bc of tidy
15
15
  'test/testcases/block/15_math/ritex.html', # bc of tidy
16
- 'test/testcases/span/math/ritex.html', # bc of tidy
17
16
  'test/testcases/block/15_math/itex2mml.html', # bc of tidy
18
- 'test/testcases/span/math/itex2mml.html', # bc of tidy
19
17
  'test/testcases/block/15_math/mathjax_preview.html', # bc of mathjax preview
20
18
  'test/testcases/block/15_math/mathjax_preview_simple.html', # bc of mathjax preview
21
-
19
+ 'test/testcases/block/15_math/mathjax_preview_as_code.html', # bc no math support yet
22
20
  'test/testcases/block/15_math/gh_128.html', # bc no math support yet
23
21
  'test/testcases/block/15_math/normal.html', # bc no math support yet
22
+
23
+ 'test/testcases/span/03_codespan/highlighting.html', # bc of span elements inside code element
24
+ ('test/testcases/span/03_codespan/rouge/simple.html' if RUBY_VERSION < '2.0'),
25
+ 'test/testcases/span/05_html/mark_element.html', # bc of tidy
26
+ 'test/testcases/span/05_html/xml.html', # bc of tidy
27
+ 'test/testcases/span/math/ritex.html', # bc of tidy
28
+ 'test/testcases/span/math/itex2mml.html', # bc of tidy
24
29
  'test/testcases/span/math/normal.html', # bc no math support yet
30
+
31
+ 'test/testcases/block/16_toc/toc_with_footnotes.html', # bc of issue with nbsp
32
+ 'test/testcases/block/12_extension/options.html', # bc of issue with nbsp
33
+ 'test/testcases/block/12_extension/options2.html', # bc of issue with nbsp
34
+ 'test/testcases/span/04_footnote/footnote_nr.html', # bc of issue with nbsp
35
+ 'test/testcases/span/04_footnote/inside_footnote.html', # bc of issue with nbsp
36
+ 'test/testcases/span/04_footnote/backlink_text.html', # bc of issue with nbsp
37
+ 'test/testcases/span/abbreviations/in_footnote.html', # bc of issue with nbsp
38
+
39
+ 'test/testcases/span/math/sskatex.html', # bc of tidy
40
+ 'test/testcases/block/15_math/sskatex.html', # bc of tidy
41
+
42
+ 'test/testcases/span/04_footnote/backlink_inline.html', # bc no math support yet
25
43
  ].compact
26
44
 
27
45
  EXCLUDE_HTML_TEXT_FILES = ['test/testcases/block/09_html/parse_as_span.htmlinput',
@@ -41,7 +59,7 @@ describe "html-to-{html,kramdown} conversion" do
41
59
  end
42
60
 
43
61
  out_files.select {|f, _| File.exist?(f)}.each do |out_file, out_method|
44
-
62
+
45
63
  it "#{short_name(html_file)} --> #{File.extname(out_file)}" do
46
64
  options = load_options(opts_file)
47
65
  doc = Kramdown::Document.new(File.read(html_file), options.merge(:input => 'html'))