Skip to content

Commit 2abc26c

Browse files
committed
integration test for text filters
1 parent 0ea071d commit 2abc26c

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

test/html_pipeline_test.rb

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class HTMLPipelineTest < Minitest::Test
1010
def setup
1111
@default_context = {}
12-
@pipeline = HTMLPipeline.new(text_filters: [TestTextFilter.new], default_context: @default_context)
12+
@pipeline = HTMLPipeline.new(text_filters: [TestReverseFilter.new], default_context: @default_context)
1313
end
1414

1515
def test_filter_instrumentation
@@ -22,7 +22,7 @@ def test_filter_instrumentation
2222

2323
assert(event, "event expected")
2424
assert_equal("call_filter.html_pipeline", event)
25-
assert_equal(TestTextFilter.name, payload[:filter])
25+
assert_equal(TestReverseFilter.name, payload[:filter])
2626
assert_equal(@pipeline.class.name, payload[:pipeline])
2727
assert_equal(body.reverse, payload[:result][:output])
2828
end
@@ -89,7 +89,7 @@ def test_incorrect_convert_filter
8989
def test_convert_filter_needed_for_text_and_html_filters
9090
assert_raises(HTMLPipeline::InvalidFilterError) do
9191
HTMLPipeline.new(
92-
text_filters: [TestTextFilter.new],
92+
text_filters: [TestReverseFilter.new],
9393
node_filters: [
9494
HTMLPipeline::NodeFilter::MentionFilter.new,
9595
],
@@ -103,4 +103,17 @@ def test_incorrect_node_filters
103103
HTMLPipeline.new(node_filters: [HTMLPipeline::ConvertFilter::MarkdownFilter], default_context: @default_context)
104104
end
105105
end
106+
107+
def test_kitchen_sink
108+
text = "Hey there, @billy. Love to see <marquee>yah</marquee>!"
109+
110+
pipeline = HTMLPipeline.new(
111+
text_filters: [TestReverseFilter.new, YehBolderFilter.new],
112+
convert_filter: HTMLPipeline::ConvertFilter::MarkdownFilter.new,
113+
node_filters: [HTMLPipeline::NodeFilter::MentionFilter.new],
114+
)
115+
result = pipeline.call(text)[:output]
116+
117+
assert_equal("<p>!&gt;eeuqram/eeuqram&lt; ees ot evoL .yllib@ ,ereht <strong>yeH</strong></p>", result)
118+
end
106119
end

test/test_helper.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,15 @@ module TestHelpers
1616

1717
Minitest::Test.include(TestHelpers)
1818

19-
class TestTextFilter < HTMLPipeline::TextFilter
20-
# class << self
19+
class TestReverseFilter < HTMLPipeline::TextFilter
2120
def call(input, context: {}, result: {})
2221
input.reverse
2322
end
24-
# end
23+
end
24+
25+
# bolds any instance of the word yeH
26+
class YehBolderFilter < HTMLPipeline::TextFilter
27+
def call(input, context: {}, result: {})
28+
input.gsub("yeH", "**yeH**")
29+
end
2530
end

0 commit comments

Comments
 (0)