31 lines
854 B
Ruby
31 lines
854 B
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe MarkdownProcessor::Traverser, type: :service do
|
|
let(:codeblock_markdown) do
|
|
<<~HEREDOC
|
|
```
|
|
This is a sample codeblock
|
|
```
|
|
HEREDOC
|
|
end
|
|
|
|
describe "#each" do
|
|
it "yields lines" do
|
|
expected_results = ["```\n", "This is a sample codeblock\n", "```\n"]
|
|
traverser = described_class.new(codeblock_markdown)
|
|
results = []
|
|
traverser.each { |line| results << line }
|
|
expect(results).to eq(expected_results)
|
|
end
|
|
end
|
|
|
|
describe "#in_codeblock?" do
|
|
it "returns true if the line is in a codeblock" do
|
|
expected_results = [false, true, false]
|
|
traverser = described_class.new(codeblock_markdown)
|
|
results = []
|
|
traverser.each { |_line| results << traverser.in_codeblock? }
|
|
expect(results).to eq(expected_results)
|
|
end
|
|
end
|
|
end
|