Skip to content

Commit 78a50d6

Browse files
authored
Merge pull request #322 from jch/allow-bad-tags
Allow bad tags
2 parents c8a506c + 22c3725 commit 78a50d6

File tree

8 files changed

+24
-0
lines changed

8 files changed

+24
-0
lines changed

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ group :test do
2222

2323
gem 'escape_utils', '~> 1.0', require: false
2424
gem 'rouge', '~> 3.1', require: false
25+
gem 'minitest-focus', '~> 1.1'
2526
end

gemfiles/rails_3.gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ group :test do
2121
gem "sanitize", "~> 4.6", require: false
2222
gem "escape_utils", "~> 1.0", require: false
2323
gem "rouge", "~> 3.1", require: false
24+
gem "minitest-focus", "~> 1.1"
2425
end
2526

2627
gemspec path: "../"

gemfiles/rails_4.gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ group :test do
2121
gem "sanitize", "~> 4.6", require: false
2222
gem "escape_utils", "~> 1.0", require: false
2323
gem "rouge", "~> 3.1", require: false
24+
gem "minitest-focus", "~> 1.1"
2425
end
2526

2627
gemspec path: "../"

gemfiles/rails_5.gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ group :test do
2020
gem "sanitize", "~> 4.6", require: false
2121
gem "escape_utils", "~> 1.0", require: false
2222
gem "rouge", "~> 3.1", require: false
23+
gem "minitest-focus", "~> 1.1"
2324
end
2425

2526
gemspec path: "../"

gemfiles/rails_6.gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ group :test do
2020
gem "sanitize", "~> 4.6", require: false
2121
gem "escape_utils", "~> 1.0", require: false
2222
gem "rouge", "~> 3.1", require: false
23+
gem "minitest-focus", "~> 1.1"
2324
end
2425

2526
gemspec path: "../"

lib/html/pipeline/markdown_filter.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ def call
3838

3939
render_options = [:GITHUB_PRE_LANG]
4040
render_options << :HARDBREAKS if context[:gfm] != false
41+
render_options = [:UNSAFE] if context[:unsafe]
4142

4243
doc = CommonMarker.render_doc(@text, parse_options, extensions)
4344
renderer.new(options: render_options, extensions: extensions).render(doc)

test/html/pipeline/markdown_filter_test.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,22 @@ def test_legitimate_renderer
103103

104104
assert_equal results, expected.chomp
105105
end
106+
107+
def test_without_tagfilter
108+
extensions = HTML::Pipeline::MarkdownFilter::DEFAULT_COMMONMARKER_EXTENSIONS - [:tagfilter]
109+
script = '<script>foobar</script>'
110+
results = MarkdownFilter.new(script, unsafe: true, commonmarker_extensions: extensions).call
111+
112+
assert_equal results, script
113+
end
114+
115+
def test_legitimate_custom_renderer_without_tagfilter
116+
extensions = HTML::Pipeline::MarkdownFilter::DEFAULT_COMMONMARKER_EXTENSIONS - [:tagfilter]
117+
script = '<script>foobar</script>'
118+
results = MarkdownFilter.new(script, unsafe: true, commonmarker_extensions: extensions, commonmarker_renderer: CustomRenderer).call
119+
120+
assert_equal results, script
121+
end
106122
end
107123

108124
class GFMTest < Minitest::Test

test/test_helper.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
require 'bundler/setup'
44
require 'html/pipeline'
55
require 'minitest/autorun'
6+
require 'minitest/pride'
7+
require 'minitest/focus'
68

79
require 'active_support/core_ext/string'
810

0 commit comments

Comments
 (0)