Sha256: 7b8565a2fe26cf7d35b0be8c2ed199f0044747ddb74f1e39293aee8dfec853bf

Contents?: true

Size: 1.81 KB

Versions: 37

Compression:

Stored size: 1.81 KB

Contents

# coding: UTF-8
require 'test_helper'

class CustomRenderTest < Redcarpet::TestCase
  class SimpleRender < Redcarpet::Render::HTML
    def emphasis(text)
      if @options[:no_intra_emphasis]
        return %(<em class="no_intra_emphasis">#{text}</em>)
      end

      %(<em class="cool">#{text}</em>)
    end

    def header(text, level)
      "My little poney" if @options[:with_toc_data]
    end
  end

  def test_simple_overload
    md = Redcarpet::Markdown.new(SimpleRender)
    assert_equal "<p>This is <em class=\"cool\">just</em> a test</p>\n",
      md.render("This is *just* a test")
  end

  def test_renderer_options
    parser = Redcarpet::Markdown.new(SimpleRender.new(with_toc_data: true))
    output = parser.render("# A title")

    assert_match "My little poney", output
  end

  def test_markdown_options
    parser = Redcarpet::Markdown.new(SimpleRender, no_intra_emphasis: true)
    output = parser.render("*foo*")

    assert_match "no_intra_emphasis", output
  end

  def test_original_options_hash_is_not_mutated
    options = { with_toc_data: true }
    render  = SimpleRender.new(options)
    parser  = Redcarpet::Markdown.new(render, tables: true)

    computed_options = render.instance_variable_get(:"@options")

    refute_equal computed_options.object_id, options.object_id
  end

  class NilPreprocessRenderer < Redcarpet::Render::HTML
    def preprocess(fulldoc)
      nil
    end
  end

  def test_preprocess_returning_nil
    md = Redcarpet::Markdown.new(NilPreprocessRenderer)
    assert_equal(nil,md.render("Anything"))
  end

  def test_base_render_without_quote_callback
    # Regression test for https://github.com/vmg/redcarpet/issues/569
    render = Class.new(Redcarpet::Render::Base)
    parser = Redcarpet::Markdown.new render.new, quote: true

    assert_equal "", parser.render(%(a "quote"))
  end
end

Version data entries

37 entries across 26 versions & 3 rubygems

Version Path
tdiary-5.2.4 vendor/bundle/ruby/3.1.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.2.3 vendor/bundle/ruby/3.1.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.2.2 vendor/bundle/ruby/3.1.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.2.1 vendor/bundle/ruby/3.1.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.6 vendor/bundle/ruby/3.0.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.0/test/custom_render_test.rb
tdiary-5.1.5 vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/redcarpet-3.5.1/test/custom_render_test.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/redcarpet-3.5.0/test/custom_render_test.rb
qiita_org-0.1.35 gems/ruby/2.7.0/gems/redcarpet-3.5.0/test/custom_render_test.rb
qiita_org-0.1.34 gems/ruby/2.7.0/gems/redcarpet-3.5.0/test/custom_render_test.rb
qiita_org-0.1.33 gems/ruby/2.7.0/gems/redcarpet-3.5.0/test/custom_render_test.rb
redcarpet-3.5.1 test/custom_render_test.rb