motion-kramdown 0.6.0 → 1.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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'))