Sha256: 0a0d87c89a2eadde987541f3121f4ac5c5e43ff8f336339bd2b3785c7280db8c

Contents?: true

Size: 881 Bytes

Versions: 8

Compression:

Stored size: 881 Bytes

Contents

require 'test_helper'

class SafeRenderTest < Redcarpet::TestCase
  def setup
    @render = Redcarpet::Render::Safe
    @parser = Redcarpet::Markdown.new(@render, fenced_code_blocks: true)
  end

  def test_safe_links_only_is_enabled_by_default
    markdown = "[foo](javascript:alert('foo'))"
    output   = @parser.render(markdown)

    assert_not_match %r{a href}, output
  end

  def test_escape_html_is_enabled_by_default
    markdown = "<p>Hello world!</p>"
    output   = @parser.render(markdown)

    assert_match %r{&lt;}, output
  end

  def test_html_escaping_in_code_blocks
    markdown = "~~~\n<p>Hello!</p>\n~~~"
    output   = @parser.render(markdown)

    assert_match %r{&lt;p&gt;}, output
  end

  def test_lang_class_is_removed
    markdown = "~~~ruby\nclass Foo; end\n~~~"
    output   = @parser.render(markdown)

    assert_not_match %r{ruby}, output
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
redcarpet-3.3.2 test/safe_render_test.rb
redcarpet-3.3.1 test/safe_render_test.rb
redcarpet-3.3.0 test/safe_render_test.rb
redcarpet-3.2.3 test/safe_render_test.rb
tight-redcarpet-3.2.0 test/safe_render_test.rb
redcarpet-3.2.2 test/safe_render_test.rb
redcarpet-3.2.1 test/safe_render_test.rb
redcarpet-3.2.0 test/safe_render_test.rb